Strictness (was: Is this tail recursive?)

Andrew Butterfield Andrew.Butterfield@cs.tcd.ie
Thu, 14 Mar 2002 10:27:41 +0000


At 22:47 13/03/02 -0600, Jay Cox wrote:
>Perhaps what could be done about this strictness business is to make a
>kind of strictness annotation.  Perhaps something that says (force the
>second argument of function F before every call to F (including any time F
>calls itself)).
>...

>here's a rough example.  !a mean !a will be forced at its application (for
>not knowing proper language to call it).
>
>strict_foldl :: (a -> b -> a) -> !a -> [b] -> a
>strict_foldl = foldl
>
>of course, there has to be a number of things that must be propagated
>whence you start adding these things. like for instance.
>....
>How about it?  Has there been any other proposals? (like maybe going as
>far as a "Strictness Type" system?)

I think the Clean type system does stuff like this - it certainly supports
strictness analysis and annotations:
  - see http://www.cs.kun.nl/~clean/ for more details

>_______________________________________
>Haskell mailing list
>Haskell@haskell.org
>http://www.haskell.org/mailman/listinfo/haskell

------------------------------------------------------------------------
Dr. Andrew Butterfield (http://www.cs.tcd.ie/Andrew.Butterfield/)
Course Director, B.A. (Mod.) Information & Communications Technology
Dept.of Computer Science, Trinity College, Dublin University
Tel: +353-1-608-2517, Fax: +353-1-677-2204
------------------------------------------------------------------------