Mehrfach-Abstraktion/Applikation

bereits im Lambda-Kalkül vereinbart:

((λxy.M)AB)≡(((λx.(λy.M))A)B)

bisher: konkret: (lam x b), (app f a), abstrakt:
| Abstraction { formal :: S.Id , body :: Exp }
| Application { rator :: Exp, rand :: Exp }
neu: konkret: (abs (x y) b), (f a b c), abstrakt:
| MultiAbstraction 
    { mformal :: [ S.Id ] , body :: Exp }
| MultiApplication 
    { rator :: Exp, mrand :: [ Exp ] }



2010-10-12