Changes between Initial Version and Version 1 of Ticket #1127


Ignore:
Timestamp:
Jan 31, 2007 12:44:57 PM (7 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.