[Haskell-cafe] ANNOUNCE: new bridge! (prelude-prime)

Alexander Solla alex.solla at gmail.com
Mon May 27 04:29:49 CEST 2013


On Thu, May 23, 2013 at 6:13 AM, Roman Cheplyaka <roma at ro-che.info> wrote:

> * Manuel Gómez <targen at gmail.com> [2013-05-23 08:33:15-0430]
> > On Thu, May 23, 2013 at 3:07 AM, Roman Cheplyaka <roma at ro-che.info>
> wrote:
> > > Pull requests are welcome, but let's stick to widely agreed changes
> > > (like the Foldable/Traversable one). I think one of the reasons why
> > > other Preludes haven't been adopted is because they were too radical.
> > >
> > > * Andreas Abel <andreas.abel at ifi.lmu.de> [2013-05-20 13:26:05+0200]
> > >> Maybe instead of fiddling with the current Prelude (which might break
> > >> backwards compatibility), we should design a new prelude which is not
> > >> automatically loaded but contains roughly the current prelude (with
> > >> the list functions generalized to collections) plus the "modern" type
> > >> class stack: Functor, Applicative, Monad, Foldable, Traversable,
> > >> Monoid etc.
> >
> > Is this strategy adequate for attacking the issue of the type class
> > stack, though?  Defining, say, a new Monad class with the desired
> > Functor constraint wouldn’t be of much use, as everything else on
> > Hackage (and on the GHC libraries!) would still use the “real” Monad.
>
> No, it definitely isn't.
>

I think that there is enough interest in fixing the functor typeclass
hierarchy that we should probably get the ball rolling on making it a part
of the next Haskell language standard.

Yes, it would break code.  Probably a lot of code.  Which is exactly why it
should be a part of the language standard, instead of an ad hoc compiler
change.  Ideally, the change would be synchronized with the release of a
new Haskell Platform, as well, like the Haskell Platform 2010.2 (I think --
the first one tied to GHC 7.*)

In particular, it would be very nice if we could just change Cabal files to
explicitly use the haskell98 and haskell2010 packages to get the old
interface back.  Presumably, those packages would eventually be deprecated.

Also, we might want the language standard to reserve the module namespace
Haskell.* for modules like IO, instead of just plain IO.  (So that we'd
have Haskell.System.IO instead of IO /AND/ System.IO)  I don't remember the
details, but these module names are the only reason my code won't work with
haskell98/2010 packages.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20130526/0040cf16/attachment.htm>


More information about the Haskell-Cafe mailing list