What Haskell users are actively maintaining or deving software using ghc <8

Carter Schonwald carter.schonwald at gmail.com
Thu May 28 16:33:00 UTC 2020


Very good point!

On Thu, May 28, 2020 at 9:17 AM Callan McGill <callan.mcgill at gmail.com>
wrote:

> > although the "proper" way of library design would be not to export
> constructors in the first place, but use abstract data types."
>
> I frequently run into the opposite problem: whenever I see someone try
> this they don't have a separate internal or unsafe module that does expose
> the constructor meaning you are prohibited from using coerce or deriving
> via.
>
> Best,
> Callan
>
> On Thu, 28 May 2020 at 03:22, Andreas Abel <andreas.abel at ifi.lmu.de>
> wrote:
>
>> @Carter: A hackage crawler could probably give a good answer to your
>> original question.
>>
>> PatternSynonyms were introduced in 7.8 (but maybe didn't work 100% from
>> the start).  I also consider PatternSynonyms a major improvement;
>> although the "proper" way of library design would be not to export
>> constructors in the first place, but use abstract data types.  In
>> practice, few have the discipline, though.
>>
>> GHC development is unfortunately not monotone, e.g. here is a bug
>> introduced in 8.4 and fixed in 8.8:
>>
>>    https://github.com/agda/agda/issues/4100
>>
>> A solution here would be to backport bug fixes, but the community does
>> not have the resources to do this.
>>
>>  > To be fair, it’s way easier to do meticulous ci across a whole matrix
>> of ghc versions now. But it is still a no zero cost on maintainers.
>>
>> I agree.
>>
>> In general, Haskell is a very nervous language, with lots of changes all
>> the time.  This seems to be the fate of a language that is both a
>> science lab for programming language research and a language people use
>> for serious development.
>> I'd hope for a slower breakage rate on the side of the syntax and the
>> standard library.
>>
>> I also hope that Haskell 2020 will surface and cut a bit off the
>> language extension forest.
>>
>>
>> On 2020-05-27 22:08, Carter Schonwald wrote:
>> > When it’s super easy to support a wide ghc range I totally support it!
>> >
>> > That said , there are absolutely compiler bugs that are terrible in
>> > older ghc.  Eg in 7.6, 7.8, and 7.10.1 and 7.10.2 (fixed in 7.10.3),
>> > there’s a really nasty bug in the register allocator that mixed up
>> float
>> > and double.  Though I can’t find the ticket atm.
>> >
>> > One point I realized / articulated recently is that supporting pre ghc
>> > 8.0 makes it difficult to change public data  types without breaking
>> all
>> > current users.  Which is something pattern synonyms supports very well
>> > (I dislike how it interacts with coverage checking, but that’s a whole
>> > bother ball of wax. )
>> >
>> > There’s often a very real cost to supporting ever widening ranges that
>> > cover larger and large range of versions and dialects and bug
>> > workarounds.  5 years ago supporting just the three most recent ghc
>> > major versions was considered amazing. To be fair, it’s way easier to
>> do
>> > meticulous ci across a whole matrix of ghc versions now. But it is
>> still
>> > a no zero cost on maintainers.
>> >
>> >
>> >
>> > On Wed, May 27, 2020 at 2:04 PM Vanessa McHale <vamchale at gmail.com
>> > <mailto:vamchale at gmail.com>> wrote:
>> >
>> >     I don’t drop support (that would be silly) as often as I write a new
>> >     library that needs GHC >= 8.0 or sometimes GHC>7.6
>> >
>> >     I use newer versions of base for unsafeDupablePerformIO and some
>> >     lazy ST monad features I think
>> >
>> >     I’d definitely consider older GHCs if there’s enthusiasm.
>> >
>> >     Cheers,
>> >
>> >      > On May 27, 2020, at 12:55 PM, Andreas Abel
>> >     <andreas.abel at ifi.lmu.de <mailto:andreas.abel at ifi.lmu.de>> wrote:
>> >      >
>> >      > I am using ghc 7.6 and up.  I dropped support for ghc 7.4 and
>> >     below because I fancy
>> >      >
>> >      >  \case
>> >      >
>> >      > which is new in 7.6.
>> >      >
>> >      > I'd say there is little reason to support ghc 6 any longer (but
>> >     probably this is anyway the consensus).
>> >      >
>> >      > That said, I do not maintain any libraries.  Libraries should not
>> >     drop ghc versions lightly.
>> >      >
>> >      > On 2020-05-27 16:50, Carter Schonwald wrote:
>> >      >> Hey all,
>> >      >> What are the oldest ghc versions folks are actually using to
>> >     build software they actually use ? What are the contexts for these ?
>> >      >> I know a lot of library maintainers, myself included try to make
>> >     it easy to suport as wide a version range of ghc as possible.  In my
>> >     case I find it useful to just have another way to evaluate how
>> >     stable I can make a library.
>> >      >> That said, what actual old ghc versions are folks actually
>> using?
>> >      >> Afaict, the oldest ghc currently in a lts linux distro is ghc
>> >     7.0 in centos 6
>> >      >> Then centos 7 and the oldest Ubuntu lts are 7.6, then more
>> >     recent distros plus most other os platforms like the bsds are on
>> >     8.0-8.4 as the oldest supported / provided ghc.
>> >      >> Who are the users today and how important are they for todays
>> >     library maintainers ?
>> >      >> _______________________________________________
>> >      >> Libraries mailing list
>> >      >> Libraries at haskell.org <mailto:Libraries at haskell.org>
>> >      >> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>> >      > _______________________________________________
>> >      > Libraries mailing list
>> >      > Libraries at haskell.org <mailto:Libraries at haskell.org>
>> >      > http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>> >
>> >     _______________________________________________
>> >     Libraries mailing list
>> >     Libraries at haskell.org <mailto:Libraries at haskell.org>
>> >     http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>> >
>> _______________________________________________
>> Libraries mailing list
>> Libraries at haskell.org
>> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>>
> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/libraries
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/libraries/attachments/20200528/30eeb677/attachment.html>


More information about the Libraries mailing list