News for hackers. Stuff that matters.
Re:Try Idris by discreteevent on Sunday April 13, 2014 @04:58PM (#7582984)
Prof. Van Roy gives a good example of this in the Edx course "Paradigms of Computer Programming" He uses the simple example of trying to introduce code to a pure functional program that will record the number of times a particular function is called. To do this you need to modify the signature of every function on the call stack. No doubt there's some other way to do this and it probably involves a monad but he was dealing with a simple pure functional language in the example. His point was that in this sense the pure system is not modular.
Re:Try Idris by sold on Monday April 14, 2014 @03:14AM (#7584897)
That's exactly the point of monads - see http://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/ba.... Such a system is still pure, btw.
Re:Try Idris by tel on Monday April 14, 2014 @10:30AM (#7586339)
I'd say any functional language so simple as to have that problem is probably some small variant on lambda calculus... and that's essentially the assembly of FP. The same thing is going to happen in your SSA-d C++ code.
Re:Try Idris by platz on Sunday April 13, 2014 @09:52PM (#7584088)
Pure functional languages have this advantage: all flow of data is made explicit. And this disadvantage: sometimes it is painfully explicit.

Of course, you could just pull a Clojure and throw everything into maps.