Re: OT: functional languages (was: Politics of Java)
On Mon, Dec 16, 2002 at 02:17:05PM -0500, David Teague wrote:
>...
> Craig and others
>
> Having "undesirable" featuers such as maintaining state or having
> dynamic scoping, does not make a language not be functional. The
I'll agree to disagree on that semantic point. (You could say that
you've written a functional _program_ in language X, but I wouldn't
say that makes X a functional language.)
> Unfortunately they added some ketchup to the caviar by introducing the
> state maintaining looping, sequencing, assignment, and binding of
> functions and data to identifiers to Scheme.
Assignment of course. But what non-FP looping does Scheme have, and
why is binding and sequencing non-FP?
(Sequencing isn't useful in a FP language, but there's nothing
imperative about it.)
> I believe these and I/O are the only imperative features of scheme,
> and (less certain) believe they are the only imperative features of
> lisp.
Er... Assignment/mutation and I/O are the only imperative features of
any language.
(Statements (as opposed to expressions) don't count: You could add
them to a FP language without making it non-FP, you would just never
have a use for them. (Of course, if I understand your use of
"functional language", you could add anything imaginable to a language
and still call it functional...))
--Pete
Reply to: