Konkrete Abstrakte Syntax

abstrakt:

data Exp = I S.Id --  Bezeichner (Variable)
  | Abstraction 
        { formal :: S.Id , body :: Exp }
  | Application 
        { rator  :: Exp  , rand :: Exp }

konkret:

(lam g (lam a (lam b (app (app g b) a))))

(nach Turbak, Gifford: Design Concepts in Programming Languages)



2010-10-12