[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: