Re: Functional Programming in the Larger or Functional Oriented Software Engineering

Peter VAN ROY <[email protected]> Mon, 2 Apr 2007 21:33:53 +0200 (CEST)
Newsgroups gmane.comp.lang.lightweight
Message-ID <31846948.102551175542433319.JavaMail.www@wwinf1622>
Joe Marshall writes:

> I agree that separating things is good, but monads have several practical
> drawbacks.  They are tricky to understand, they don't compose, and they
> use a lot of resources.  I'm not convinced that the advantages outweigh the
> disadvantages if there is a choice.

There is another, more important reason why true state is essential.
True state is needed to make programs modular.  Threaded state,
such as monads or Prolog DCGs, cannot substitute for this.  This is
explained in a Lambda the Ultimate discussion:
  http://lambda-the-ultimate.org/classic/message9361.html

Peter Van Roy