Re: OT: functional languages (was: Politics of Java)
On Fri, Dec 13, 2002 at 07:45:34AM -0800, Craig Dickson wrote:
> Kirk Strauser wrote:
> > At 2002-12-13T14:52:51Z, Johann Spies <firstname.lastname@example.org> writes:
> > > Yes. So is Ocaml and I think Scheme also.
> > Since Scheme is a Lisp derivative, yes, it's also a functional language.
> Scheme is a functional language; but I hesitate to call Lisp
> "functional". In fact, Scheme was originally developed as a
> simplification of Lisp to focus on functional programming. Lisp can be
> used in a functional way, but also has imperative features. In fact, by
> modern standards, even Scheme is not a "purely" functional language; its
> expressions can have side effects, variables can be reassigned, etc.
Lisp and Scheme are not functional languages. A functional languge is
one that doesn't support mutating data; Lisp and Scheme very much do.
You can write Lisp and Scheme expressions that don't mutate anything
and call them functional; you can do that in Fortran too. But the
languages aren't functional, they're imperative.
(Lisp and Scheme have larger, more useful functional subsets than
Fortran (or C), but that's doesn't merit calling them functional.)
Haskell is functional.