[Haskell-cafe] Lifting strictness to types

Thiago Negri evohunz at gmail.com
Thu Aug 22 18:19:49 CEST 2013


I think Scala has this optional laziness too.
The problem with default-strictness is that libraries that are built with
no laziness in mind turn up to be too strict.
Going from lazy to strict is possible in the client side, but the other way
is impossible.



2013/8/22 Tom Ellis <tom-lists-haskell-cafe-2013 at jaguarpaw.co.uk>

> On Thu, Aug 22, 2013 at 12:51:24PM -0300, Thiago Negri wrote:
> > How hard would it be to lift strictness annotations to type-level? E.g.
> > instead of
> > f :: Int -> Int
> > f !x = x + 1
> > write
> > f :: !Int -> Int
> > f x = x + 1
> > which would have the same effect. At least it would be transparent to the
> > developer using a particular function.
>
> See also the recent Reddit thread
>
>
> http://www.reddit.com/r/haskell/comments/1ksu0v/reasoning_about_space_leaks_with_space_invariants/cbsac5m
>
> where I and others considered the possibility of a strict language with
> explicit thunk datatype.  NB OCaml essentially already has this
>
>     http://caml.inria.fr/pub/docs/manual-ocaml/libref/Lazy.html
>
> but I think Haskellers would do it better because we have a lot of
> experience with purity, laziness and monad and comonad transformers.
>
> Tom
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130822/a3554dd1/attachment.htm>


More information about the Haskell-Cafe mailing list