On Monday 12 July 2004 13:52, bruno modulix wrote:
> Hal Fulton a ?crit :
> > James Britt wrote:
> >>> There *are* good, useful definitions of what constitutes a functional
> >>> languages, and Ruby does not match the criteria for most of them.
> >>> Probably the most fundamental of all criteria is that the language
> >>> does not allow side-effects, such as assignment.
> >
> > We're OT now, but my ignorance of FP is such that I can't imagine
> > a language without assignment.
>
> "without assignment" should in fact read "without re-binding". Binding a
> value to a symbol is perfectly legal even in Haskell, but once bound,
> it's for the lifetime of the symbol...

I don't understand how assignment, or even just re-binding, effects the nature 
of a functional programming language.  From everything I remember about 
functional languages, the only real evil was persistent data that could cause 
function results to change from one call to another.  You're not supposed to 
have operators in a functional language, like =, *, + and so on, so you can't 
assign values "a=10" style, but you should be able to say set(a, 10).

What does assignment or even re-binding have to do with the "functional 
nature" of a functional language?  Not a troll, I truly just don't see the 
relationship between the two.

	Sean O'Dell