User talk:Kittylyst

Removing Scala from "Functional programming"
I'm confused why you removed Scala from the list of functional programming languages, since you didn't remove OCaml, F#, Clojure, or some of the others. None of them are "pure-functional" but I don't see how Scala is any less functional than the others, and all seem well worth including.

kittylyst: It's a matter of some debate, of course, but whilst Clojure & Haskell certainly can and do make use of mutable state, access to mutability requires the programmer to jump through special hoops (STM transactions in the case of Clojure, monads or equivalent in Haskell). I believe the same to be true of F# but I personally haven't programmed in it professionally in anger.

Scala, by contrast, has mutability visible completely at the surface. Its design decision to follow Java by using the equivalent of final references to implement immutability suffers from the same flaws that Java does. Granted, Scala has the advantage that it does ship a set of immutable collections as standard, and encourages their use, but Scala is still plagued throughout with the curse of mutability - which, to my mind, makes its functional nature much cloudier than that of either Haskell or a Lisp.

Kittylyst (talk) 08:06, 16 April 2014 (UTC)