On Wednesday, November 16, 2011 00:23:09 Walter Bright wrote: > On 11/15/2011 10:55 PM, Peter Alexander wrote: > > Scala does support function purity (you can write pure functions) and > > immutable data (you can create data that you don't write to), it just > > doesn't statically check either of those things :-) > > That's like saying Python supports static typing, it just never checks it!
While I don't know scala, I think that there's a _big_ difference between a language that supports a style of programming which is functional except for its lack immutability and saying that a dynamically typed language supports static typing. Immutability is an important part of functional programming, but you can program functionally without having any immutability. But you seem to much more inclined to consider something pointless or useless if the compiler doesn't enforce it than most programmers are (e.g. const in C++). I'd argue that stuff like auto result = map!foo(filter!bar(range)); is most definitely functional even if there's no immutability involved at all. - Jonathan M Davis