1 -- | Semantics for Identity (aka. R, or meta-circular representation).
2 module SemanticEval where
4 import Data.Functor.Identity
7 instance Abstractable Identity where
8 lam f = Identity (runIdentity . f . Identity)
9 (.@) f x = Identity ((runIdentity f) (runIdentity x))
10 {- Defined in Data.Functor.Identity
11 instance Num a => Num (Identity a)
12 instance Fractional a => Fractional (Identity a)
15 eval :: Identity a -> a