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 ------------------------------------------------------------------------