Changes between Version 9 and Version 10 of Proposals/transformers

Show
Ignore:
Timestamp:
09/15/10 12:17:53 (4 years ago)
Author:
ross (IP: 138.40.95.95)
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Proposals/transformers

    v9 v10  
    5959runReader m = runIdentity . runReaderT m 
    6060}}} 
    61  ''Rationale:'' This avoids repetition in the interfaces of both transformers and the proposed mtl-2.  It makes transformers more useful on its own, and also saves clients of mtl from defining instances for both {{{State s}}} and {{{StateT s Identity}}} and ensuring that they are consistent. 
     61 ''Rationale:'' This avoids repetition in the interfaces of both transformers and the proposed mtl-2.  It makes transformers more useful on its own, and also saves clients of mtl from defining instances for both {{{Reader r}}} and {{{ReaderT r}}} and ensuring that they are consistent. 
     62 * The instance {{{Error String}}} is restructured to avoid a type synonym instance: 
     63   {{{ 
     64instance Error String where 
     65    noMsg  = "" 
     66    strMsg = id 
     67}}} 
     68   is replaced by 
     69   {{{ 
     70instance ErrorList a => Error [a] where 
     71    strMsg = listMsg 
     72  
     73class ErrorList a where 
     74    listMsg :: String -> [a] 
     75  
     76instance ErrorList Char where 
     77    listMsg = id 
     78}}} 
     79 ''Rationale:'' This makes the instance Haskell 98, so it can be included in the transformers package. 
    6280 
    6381== Transition issues == 
     
    7088    * 11 because they defined their own Applicative instances (which can now be deleted) 
    7189    * 11 because of the changed constraint on Functor instances 
    72     * 1 that defined an overlapping Error instance ([http://hackage.haskell.org/package/hssqlppp hssqlppp]) 
    7390    * 16 that used the constructors of base monads (which can be trivially replaced) 
    7491    * 2 that defined instances for base monads ([http://hackage.haskell.org/package/jmacro jmacro] and [http://hackage.haskell.org/package/yhccore yhccore]) 
     92    * 1 that defined an overlapping Error instance ([http://hackage.haskell.org/package/hssqlppp hssqlppp]) 
    7593 * 248 failed for other reasons (e.g. failed anyway or depended on one of the other failures) 
    7694