Thus spake Craig Dickson ([EMAIL PROTECTED]): > Pete Harlan wrote: > > > Lisp and Scheme are not functional languages. A functional languge is > > one that doesn't support mutating data; Lisp and Scheme very much do. > > I certainly agree about Lisp. With Scheme, it's a bit trickier, > especially since the history is that Scheme was first invented to be a > Lisp-like language for "programming with functions" using recursion, > first-class functions, dynamic scoping, and continuations -- essentially > Lisp with the most non-FP features thrown out, plus dynamic scoping and > continuations, which were not features of Lisp, and are very common in > modern functional languages. By today's standards, Scheme is certainly > not a "pure" functional language, but whether it is an "impure" one, or > not one at all, is not so easy to say. Opinions vary.
I'd certainly want to call it functional and would go further and say that LISP is also an impure functional language. PH's dikat is IMHO a little too rigid. What about Milner's SML, which also supports side-effects. That is invariably, in my experience, referred to as a functional language. The importance of LISP, Scheme, ML, Miranda, et. al. is surely the establishing of a functional programming *style*, which these languages encourage (to a greater or lesser extent). After all, you *can* do FP in C or Pascal - it's just a lot more work. -- |Deryk Barker, Computer Science Dept. | Music does not have to be understood| |Camosun College, Victoria, BC, Canada| It has to be listened to. | |email: [EMAIL PROTECTED] | | |phone: +1 250 370 4452 | Hermann Scherchen. | -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]