Interpreter mit Funktionen

abstrakte Syntax:

data Exp = ...
  | Abs { formal :: Name , body :: Exp }
  | App { rator  :: Exp  , rand :: Exp }


konkrete Syntax:

let { f = \ x -> x * x }  in  f (f 3)


konkrete Syntax (Alternative):

let { f x = x * x }  in  f (f 3)



Johannes Waldmann 2013-01-31