
On Mon, May 04, 2009 at 03:08:25PM +0200, Martijn van Steenbergen wrote:
Andrew Wagner wrote:
[quote] Here's [a]language to to interpret (where postfix * means tupling): Variables: x Integer literals: i Terms: t = Lambda x*. t | Apply t t* | Var(x) | Num(i)
Can someone explain to me how I should read this? It supposedly explains what the postfix * means ("tupling") but I still can only guess how it translates to a Haskell datatype.
I think t* is supposed to represent an arbitrary number (a tuple) of t's. So in Haskell syntax, you can read t* as [t]. Hence, the language described above is not curried: lambda expressions can have any finite number of arguments, and applications are correspondingly some term applied to a tuple of arguments. -Brent