Version française
Home     About     Download     Resources     Contact us    
Browse thread
RE: [Caml-list] variant with tuple arg in pattern match?
[ Home ] [ Index: by date | by threads ]
[ Search: ]

[ Message by date: previous | next ] [ Message in thread: previous | next ] [ Thread: previous | next ]
Date: -- (:)
From: Dave Berry <Dave@k...>
Subject: RE: [Caml-list] variant with tuple arg in pattern match?
> From: Frank Atanassow [mailto:franka@cs.uu.nl]
> Sent: Tuesday, April 10, 2001 14:51
> 
> When you say "currying" you are talking about a syntactic 
> matter which arises
> due to positional application. When Daniel said that "currying" is
> basic to the lambda-calculus, he was talking about a more fundamental,
> semantic matter.

Daniel did not write the sentence you attribute to him.  He said that
currying is basic to functional programming.  There are many differences
between functional programming and the pure lambda calculus.  Consider:
let-abstraction, the value polymorphism rule, restrictive type systems,
syntax, tuples, records, exceptions, assignment, modules, IO, size of
programs, etc.

As for syntax versus semantics, I nearly wrote "semantic hack", until I
realised that it only works if the syntax also supports it.

> If you look at lambda-calculus from a sufficiently abstract 
> perspective where
> the syntax is immaterial,...

... then you're not talking about functional programming.  

> And how do you define g in the first case if you don't have 
> semantical currying?

Possibly there is some terminological confusion here.  I've only ever
seen "currying" used to mean the encoding of multiple arguments using
higher order functions.  I certainly do not oppose the use of
higher-order functions for other uses, and of course this requires the
building of closures as you describe.

Dave. 
-------------------
To unsubscribe, mail caml-list-request@inria.fr.  Archives: http://caml.inria.fr