[Haskell-cafe] State monad strictness - how?

Steve Downey sdowney at gmail.com
Wed Jan 10 21:04:16 EST 2007


haskell is the standard lazy functional language, so strictness ought
to be called out. e.g. StateStrict rather than StateLazy.
The traction that haskell is starting to get (and why I'm spending
time learning it and following haskell-cafe) is not because its
semantics are unsurprising to newbies. They are surprising and
surprisingly powerful. A haskell that did no more than scheme would
not be as interesting.
I may be subject to selection bias, but I haven't seen so many
references to a language in unexpected contexts since smalltalk in the
mid 80's.  I don't think that's because it's a language that behaves
the way someone coming from another language expects.

On 1/10/07, Bulat Ziganshin <bulat.ziganshin at gmail.com> wrote:
> Hello Yitzchak,
>
> Wednesday, January 10, 2007, 12:02:25 PM, you wrote:
>
> > Unfortunately, the current situation is that State is only
> > available as a lazy monad, and StateT is only available
> > as a strict monad.
>
> > At the very least, the two should be consistent. I
> > would much prefer for them both to be lazy.
>
> imho, lazy monads (as any other lazy things) is a source of beginner's
> confusion. therefore it may be better to provide "default" monads as strict
> and lazy ones - for one who knows what he wants - with a Lazy prefix, e.g.
> LazyST, LazyState...
>
> --
> Best regards,
>  Bulat                            mailto:Bulat.Ziganshin at gmail.com
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>


More information about the Haskell-Cafe mailing list