Changes between Version 2 and Version 3 of Proposals/transformers

Show
Ignore:
Timestamp:
11/29/09 17:51:10 (5 years ago)
Author:
ross (IP: 81.98.182.171)
Comment:

propose hiding and deprecating mtl-2

Legend:

Unmodified
Added
Removed
Modified
  • Proposals/transformers

    v2 v3  
    44The proposal is to restructure the [http://hackage.haskell.org/package/mtl mtl] package as a compatibility layer over new [http://hackage.haskell.org/package/transformers transformers] and [http://hackage.haskell.org/package/monads-fd monads-fd] packages.  A draft of this compatibility layer is available at [http://urchin.earth.li/darcs/ganesh/mtl-compat]. 
    55 
    6 == Credits == 
    7 Proposed by Ganesh Sittampalam (maintainer of the mtl compatibility layer) and Ross Paterson (maintainer of transformers and monads-fd).  If this proposal is accepted, these packages would be turned over to community control (like the current mtl package). 
     6== Proposers == 
     7 * Ganesh Sittampalam (maintainer of the mtl compatibility layer) 
     8 * Ross Paterson (maintainer of transformers and monads-fd) 
     9If this proposal is accepted, these packages would be turned over to community control (like the current mtl package). 
    810 
    911== Rationale == 
     
    1315The idea is to factor out the monad transformers as a Haskell 98 package, which can be used by itself or with type classes based on either functional dependencies or type functions.  Interfaces referring to the monad transformers would be compatible across the different libraries. 
    1416 
    15 We would encourage clients to switch from mtl to either plain transformers or transformers + monads-fd, but would retain the mtl compatibility layer for the forseeable future. 
     17A new version of mtl would provide a temporary almost-compatible layer over transformers + monads-fd, and clients would be encouraged (using deprecation) to switch from mtl to either plain transformers or transformers + monads-fd.  However since the new and old packages use some of the same modules names, all versions of mtl would need to be hidden. 
    1618 
    1719== Structure == 
     
    2931 * The [http://urchin.earth.li/darcs/ganesh/mtl-compat new version of mtl] depends on transformers and monads-fd, and is almost a compatible replacement for the current version, except for the differences listed above. 
    3032 
     33 Both transformers and the new mtl would expose the modules {{{Control.Identity}}} and {{{Control.Monad.Trans}}}, though the mtl versions would be re-exports of the transformers modules.  Thus people using {{{ghc --make}}} would still see conflicts.  Hence the new mtl would have to be deprecated and hidden.  Eventually it would be removed. 
     34 
    3135== Open issues == 
    3236 
     
    3741 * The module {{{Control.Monad.Cont.Class}}} is Haskell 98.  Should it be moved out of monads-fd, and if so where? 
    3842 
    39  * Both transformers and the new mtl would expose the modules {{{Control.Identity}}} and {{{Control.Monad.Trans}}}, though the mtl versions would be re-exports of the transformers modules.  Thus people using {{{ghc --make}}} would still see conflicts.  What to do? 
     43 * Both transformers and the new mtl would expose the modules {{{Control.Identity}}} and {{{Control.Monad.Trans}}}, though the mtl versions would be re-exports of the transformers modules.  Thus people using {{{ghc --make}}} would still see conflicts. 
    4044 
    4145== Transition issues ==