I'm looking for an abstract syntax of the lambda calculus ( a description
of the semantic (static and dynamic) would be appreciated).
I think someone made already this, maybe in a book or somewhere else.
Any Informations will be welcome!!
Thanks for your help,
Valy
From: Mark
Subject: Re: Syntax of Lambda Calculus
Date:
Message-ID: <20pqp6INNkts@uwm.edu>
term -> variable | constant | term term | lambda variable term | ( term )
with the following disambiguation rules:
lambda v t1 t2 = (lambda v t1) t2 (or the other way, I forgot)
t1 t2 t3 = (t1 t2) t3
·····@csd4.csd.uwm.edu (Mark) writes:
>term -> variable | constant | term term | lambda variable term | ( term )
>with the following disambiguation rules:
> lambda v t1 t2 = (lambda v t1) t2 (or the other way, I forgot)
> t1 t2 t3 = (t1 t2) t3
It is the other way: lambda v t1 t2 = lambda v (t1 t2).
The syntax used above differs from the standard notation by not having
a '.' in the abstraction rule: lambda variable '.' term. The lambda is
usually written as the lower case greek letter.
Also, you have: t1 lambda v '.' t2 t3 = t1 (lambda v '.' t2 t3).
You often allow the more general lambda variable ... variable '.' term
as a shorthand for lambda variable '.' ... lambda variable '.' term.
Torben Mogensen (·······@diku.dk)