1 -- | Interpreter to compute a host-term.
2 module Language.Symantic.Repr.Host where
6 -- | Interpreter's data.
7 newtype Repr_Host h = Repr_Host { unRepr_Host :: h }
8 instance Functor Repr_Host where
9 fmap f (Repr_Host a) = Repr_Host (f a)
10 instance Applicative Repr_Host where
12 (Repr_Host f) <*> (Repr_Host a) = Repr_Host (f a)
13 instance Monad Repr_Host where
15 (Repr_Host a) >>= f = f a
18 host_from_expr :: Repr_Host h -> h
19 host_from_expr = unRepr_Host