[Haskell-cafe] Better names for
jack at jackkelly.name
Fri Apr 24 13:29:36 UTC 2020
Jon Fairbairn <jon.fairbairn at cl.cam.ac.uk> writes:
>>>> fmap f. If I could re-define Haskell from scratch, I'd probably name
>>>> the Functor type class function 'map'
>>> As it was in Haskell 1.4
>> There is a stackoverflow thread (#6824255) which mentions paedagogical
>> reasons, simplifying error messages.
> That is the reason that I remember, the problem being that it
> makes sense to teach map on lists before teaching type classes,
> so error messages mentioning classes were considered confusing.
> I was against this, preferring that teaching should use a
> specialised prelude, but this was rejected on the grounds that
> teachers wanted to teach “the real language”. I still think this
> was a mistake.
I wasn't there for that discussion, but the evolution of Haskell as an
industrial tool makes this justification look worse in hindsight, now
that we have things like the Foldable/Traversable typeclasses. Both of
which are fantastic improvements for industrial use, but mean that you
see classy signatures even on straightforward list functions. Even
numeric literals induce classy type signatures if you're not careful.
I think the case for a solid teaching prelude separate from the
industrial prelude has become more compelling over time, especially now
that GHC can emit custom type error messages.
More information about the Haskell-Cafe