News for hackers. Stuff that matters.
Re:“Mostly functional” programming does not work by ky3 on Sunday April 27, 2014 @08:02AM (#7654786)
> Scheme is not a pure functional language

I think OP wittily conflates 2 senses of pure. Scheme is purely functional in the sense that it's _only_ functional, as opposed to a hybrid like Scala, as OP points out.

But it's not purely functional in the sense of Haskell, that famous flagship of effect-less programming. Here 'pure' is contrasted against _effectful_ functions.

Re:“Mostly functional” programming does not work by brudgers on Sunday April 27, 2014 @08:48AM (#7654864)
In Scheme, everything is an expression and because of macros and mutability not all expressions are functions in any sense beyond that by which we commonly use 'function' as a synonym for 'programming procedure'. What Scheme doesn't have is a symantics that distinguishes between statements and expressions.
Re:“Mostly functional” programming does not work by ky3 on Sunday April 27, 2014 @11:29AM (#7655439)
Good point about the macros and mutability.

There's FP vs imperative and then there's FP vs OOP. Scala is the FP-OOP hybrid and Scheme is the FP-imperative hybrid.

These are vast simplifications but useful to start a conversation with. Thanks!

Re:“Mostly functional” programming does not work by PaulAJ on Sunday April 27, 2014 @10:06AM (#7655098)
Excellent summary. Yes, I did indeed conflate these two meanings of "pure" because I didn't want to get my post side-tracked into a discussion of this point.

Unfortunately if you want a language with industrial strength tools and libraries that is pure in the effect-less sense, Haskell is the only choice. So when I try to talk about the issue of effect management it sounds like I'm merely plugging my favourite language instead of making an argument about the importance of a fundamental property.