summary of 2013-05 proposals

Ben midfield at
Mon May 27 19:00:47 CEST 2013

i just got a new keyboard and i thought i'd break it in by typing up a summary of the proposals that have come on the libraries mailing list in may 2013.  i expected this might be a little annoying so i adopted my "don't grade angry" method from my graduate student days, where every time i got frustrated got i'd have a swig of beer.

five days and a huge headache later.....

i apologize in advance if i've missed a proposal, or an important point, or have misrepresented someone's opinion or vote.  i've done my best but the process is entirely manual and i'm sure strewn with errors and miscounts.  if you want me to make corrections, please email me (personally) and i'll correct and send again.

best, ben

as of 2013-05-27

links to the mailing list have an implicit prefix

2013-05-10 niklas hambüchen proposes "Control.Monad.whenJust :: Monad m => Maybe
a -> (a -> m ()) -> m ()" - /2013-May/019775.html

* adam vogt et al : this is a monomorphic Data.Foldable.for_

** others : for_ is confusing

*** gabriel gonzalez : i'll write a tutorial

*** petr pudlak : hoogle finds for_, forM_

*** chris seaton : create a dummy module which points people to the polymorphic

*** gwern branwen : add hlint hints to help people find for_

**** henning thielemann : neil mitchell was hesitant to recommend functions for

** ben millwood et al : there are import conflicts with Data.Foldable, mtl

* andreas abel : links to previous discussions 2013-May/019794.html

for : niklas h, kudah k, evan l

against : ganesh s, henning t, john w, edward k, simon h, andreas a, ivan m,
bardur a, dan d, david l, ben g, merijn v, carter s, oliver c, casey m, felipe
l, anthony c, ben l, gershom b, gabriel g, nikita v, vincent h, herbert r,
malcolm w, andrea v, ian l, jake m, brandon a, mario b, wren t


2013-05-13 felipe lessa proposes "Data.Maybe.whenJust :: Monad m => Maybe a ->
(a -> m ()) -> m ()" - 2013-May/019793.html

for : felipe l, andreas a


2013-05-13 wren ng thorton proposes changing newBroadcastTChanIO to match
newBroadcastTChan in stm-2.4.2 - 2013-May/019808.html

for : wren t, edward k, john w


2013-05-15 edward kmett proposes moving Foldable and Traversable into Prelude
and retiring their monomorphic counterparts - 2013-May/019815.html

* bas van dijk : immediately change or deprecate and warn?

* henning thielemann : it's not backwards compatible; it's better to import from
modules instead of adding to Prelude; it's not beginner friendly; there are
multiple generalizations; it requires type annotations

* gabriel gonzalez : these are not the only generalizations

** edward k : these generalizations are haskell 98, with good type inference

* edward k : should not break too much, Applicative => Monad will make a lot of
  the combinators go away

* edward k : Foldable/Traversable don't require heavy machinery

* david luposchainsky : provide warnings for not using Foldable/Traversable,
  Functor / Applicative => Monad?

* oliver charles et al : polymorphic functions were easier to learn as a

* conrad parker et al : alternative languages / Preludes for beginners?

* casey mccann : language should NOT be designed for beginners; Num is already
  in Prelude

* edward k, ian l : can change Prelude but keep haskell98/2010 the same for
  teachers (split base)

* mark lentczner : we should run changes over hackage

* mark lentczner et al : mtl reimports suck

** edward k : i'd be happy to change that

* edward k : concrete proposal 2013-May/020093.html

online poll

for : edward k, bas van d, petr p, david l, john w, andreas a, tom ?, ben l,
carter s, dan d, ben g, merijn v, oliver c, casey m, felipe l, anthony c,
gershom b, gabriel g, nikita v, vincent h, herbert r, andrea v, jake m, john l
(changed), brandon a, mario b, wren t

against : henning t, ganesh s, malcolm w, ivan m


2013-05-15 john lato (rhetorically) proposes making Functor a superclass of
Monad - 2013-May/019822.html

for : edward k, carter s, ben l


2013-05-16 vincent hanquez proposes adding bSwap : a -> a to Bits -

* henning thielemann : consider "swap"

* edward kmett : consider "byteSwap" or "byteswap"

* henning thielemann : shouldn't this be an Endian thing instead of Bits?

* vincent hanquez : this is to expose new primops (ticket 7902)

* ian lynagh : just add the primops and leave the interface to libraries

** vincent hanquez : sounds good to me

votes are waiting for new proposal?

2013-05-16 david luposchainsky proposes adding Applicative/Functor instances to
all Monads in GHC - 2013-May/019839.html

* bas van dijk : i did this before (see ticket 4834)

* ian lynagh : this doesn't actually help with future proofing ghc

* david luposchainsky : can we add a compiler warning for missing instances?

for : david l, bas van d, edward k, andreas a, oliver c, john w, gabriel g, carter s, conal e, kazu y, henning t, federico m, wren t
neutral : ian l


2013-05-16 austin seipp revives edward kmett's proposal to add PolyKinds to
Control.Category - 2013-May/019845.html

for : austin s, simon p-j, edward k,


2013-05-18 ian lynagh proposes just removing the monomorphic counterparts to
Foldable and Traversable from Prelude - 2013-May/019871.html

for : ian l, john l, herbert r, oliver c, ben l, malcolm w, ivan m, wren t

against : henning t, edward k, tom?, dan d, david l, merijn v, carter s, casey
m, felipe l, anthony c, gershom b, gabriel g, nikita v, john w, vincent h,
herbert r, andrea v, jake m, brandon a, andreas a


2013-05-20 ben gamari revives gabriel gonzalez's proposal for a stricter WriterT
- 2013-May/019898.html

* ross patterson : just deprecate Writer.Strict in favour of State.Strict ?

for : ben g, gabriel g, david l


2013-05-21 wren ng thorton proposes "burning bridges" - 2013-May/019902.html

* wren ng thorton : promote Foldable/Traversable, Applicative => Monad, etc.

** not fixing numeric hierarchy, partial functions in spec, MPTC vs type
   families, etc.

* felipe lessa : need python 3-style refactoring tool

* simon peyton-jones : split base should help with backwards compatability shims

* mark lentczner : should chunk incompatible changes every couple of years

* john lato : someone should write up a single new proposal

* ian lynagh :

* wren t : Prelude exists because the definition of Haskell (e.g. do-notation)
  is circular

for : wren t, conrad p

maybe for? : mark l, john l, herbert r, carter s, edward k,

against : gabriel g, edward k


2013-05-22 ian lynagh reproposes : monomorphic "whenJust", moving
Foldable/Traversable into Prelude, removing said from Prelude, doing Nothing -

* votes will be added to the previously listed proposals

votes for doing Nothing :

for : malcolm w

against : tom ?, edward k, dan d, david l, ben g, merijn v, carter s, oliver c,
casey m, felipe l, anthony c, ben l, gershom b, gabriel g, nikita v, john w,
vincent h, herbert r, andrea v, jake m, ivan m, john l, brandon a, mario b,
andreas a, wren t


2013-05-23 david luposchainsky proposes Applicative => Monad -

* nicholas trangez : can help with "minimal definitions"

for : david l, henning t, dan b, edward k, jeremy s, stephen t, ben m, bas van
d, ivan m, dan d, john l, bardur a, carter s, ganesh s, petr p, john w, roman c,
andreas a, mario b


2013-05-13 shachaf ben-kiki reminds us of his "minimal instance" proposal -

for: shachaf b-k, henning t, dan b, john lato, petr p, andreas a


2013-05-23 simon peyton-jones proposes creating a library tsars committee -

for : simon p-j, edward k, shachaf b-k, andreas a

against : tom ? (for Foldable/Traversable)


2013-05-23 jeremy shaw proposes adding Pointed - 2013-May/020029.html

* ben millwood :

for : jeremy s, henning t, andreas a, john l

against : ben m, dan b, edward k, roman c, wren t, david l, gabriel g, dan d,
john w (changed), petr p


2013-05-23 jeremy shaw proposes adding MonadFail - 2013-May/020029.html

for : jeremy s, henning t, dan b


More information about the Libraries mailing list