Craig Dickson wrote: > Essentially, the definition of a functional language is that it is > based on lambda calculus or combinators, and
Oops, forgot to go back and finish that sentence. Sorry! Functional languages are basically sugared lambda calculus or combinator logic. The sugar generally includes things like named functions, data types, a module system, and practical necessities like I/O primitives (which ideally should be as isolated as possible from the rest of the language, as it is in Haskell's monad syntax). Various impurities may be present, such as modifiable variables. Functions are first-class objects; they can be passed as function parameters, returned from functions, stored in data structures, etc. Craig
msg19004/pgp00000.pgp
Description: PGP signature