Drastic Prelude changes imminent

davean davean at xkcd.com
Tue Feb 3 19:51:04 UTC 2015


Ah yes. That is, strictly speaking not code.

I suppose it could count as breakage also, but I think it is far less
likely to cause confusion though as they're clearly asking about
implementation and getting an answer that its changed.

On Tue, Feb 3, 2015 at 2:41 PM, Erik Hesselink <hesselink at gmail.com> wrote:

> On Tue, Feb 3, 2015 at 8:32 PM, davean <davean at xkcd.com> wrote:
> > On Tue, Feb 3, 2015 at 2:20 PM, Erik Hesselink <hesselink at gmail.com>
> wrote:
> >>
> >> > 2. Breakage of existing tutorials/documentation
> >>
> >> I was just wondering which of these you were alluding to. Turns out
> >> it's all of them :) I'm surprised you mention breakage of code, since
> >> in my experience most of the breakage in GHC 7.10 I've seen in my own
> >> packages and the Stackage builds is due to other factors: the
> >> Applicative/Monad changes, time 1.5, etc. It would be interesting (but
> >> time consuming) to gather some statistics on this. The breakage of
> >> tutorials is unfortunate, yes.
> >
> >
> > So how bad is the breakage of tutorial code really? Looking around almost
> > all of it has a full top level type which makes it still work. I've only
> > looked for a few minutes but my first impression is that not much breaks
> > with this. Is this just a theory or have people actually determined that
> > tutorial code breaks?
> >
> > (Actually, I've found plenty of broken tutorial code, but it wasn't due
> to
> > anything in prelude. Our standard library churn seems much worse on
> > tutorials I've looked at then this seems to be.)
>
> I think the 'breakage' is mostly used as mentioning things that work
> on lists, while they now work on Foldable/Traversables. For example,
> LYAH mentions "length takes a list and returns its length,
> obviously.", which isn't true anymore in the strictest sense, it takes
> any Foldable. However, you could argue that this text is just
> specialization, and that it's still true. There seem to be no things
> that are generalized in the section about types, and soon after type
> classes are already introduced.  Real World Haskell is slightly more
> "broken", for example, it lists:
>
> ghci> :type null
> null :: [a] -> Bool
>
> Which isn't true anymore, it would now give "Foldable t => t a -> Bool".
>
> Regards,
>
> Erik
>
> P.S. You didn't send your message to haskell-cafe. Feel free to
> forward it including this reply if you want.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/libraries/attachments/20150203/efa1cae4/attachment-0001.html>


More information about the Libraries mailing list