Changes between Initial Version and Version 1 of Ticket #1127


Ignore:
Timestamp:
Jan 31, 2007 12:44:57 PM (9 years ago)
Author:
igloo
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #1127

    • Property Summary changed from Make StateT in mtl truly lazy to Make mtl lazier
  • Ticket #1127 – Description

    initial v1  
    1 The StateT monad gives every impression of intending to be lazy, but the absence of a ~ means that it isn't fully lazy. This bit me in the compression library, meaning I currently bundle a LazyStateT module that provides essentially StateT with this change. There was also a recent discussion about it on one of the mailing lists: http://www.haskell.org/pipermail/haskell-cafe/2007-January/021244.html
     1I propose making mtl lazier. Currently the transformers force tuples to WHNF as they put them on the left of <- in do blocks. I suspect this was unintentional, and makes them less lazy than their non-transformer counterparts.
    22
    3 I propose making StateT lazy.
     3For example, the StateT monad gives every impression of intending to be lazy, but the absence of a ~ means that it isn't fully lazy. This bit me in the compression library, meaning I currently bundle a LazyStateT module that provides essentially StateT with this change. There was also a recent discussion about it on one of the mailing lists: http://www.haskell.org/pipermail/haskell-cafe/2007-January/021244.html
    44
    55Deadline: 28 February 2007.