On Monday 12 July 2004 13:52, bruno modulix wrote: > Hal Fulton a ñÄrit : > > 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