7 ms·
A lot of good stuff in this release! Both LinearTypes and QualifiedDo (which is useful for LinearTypes but also other uses) The ghc-bignum change is kind of bo
by whateveracct 6y ago
A lot of good stuff in this release! Both LinearTypes and QualifiedDo (which is useful for LinearTypes but also other uses)
The ghc-bignum change is kind of boring, but it does help a lot with the long-standing problematic dependency on gmp.
Not to mention the stage being set for QuickLook impredicativity. That's something that I've been wishing we've had for a long time now.
Haskell remains at the bleeding edge of general-purpose programming - more than ever with each release.
- pwm 6y agoJust the other day i was doing something with LogicT where QualifiedDo would have been super handy.
- bjt 6y agoThe GMP change is the most exciting one for me! Years ago when I was really trying to get into Haskell, I wanted its binaries to be as portable as those from Go. I was so sad to see that this _one_ library made that impossible.
- garmaine 6y agoWhat’s the issue? GMP is pretty portable, no?
- whateveracct 6y agoit's more about its license
- endgame 6y agoGMP is LGPL, so if you distribute a binary to someone it has to be possible for the recipient to re-link it with an alternate libgmp (either via dynamic linking, or by providing .o files and a script)
- robocat 6y agoMy understanding from a quick google: The issue is that if you write a Haskell program, and you want to deploy it as a single executable, then GMP is included (statically linked), so the LGPL applies to the executable. The two obvious ways to meet the LGPL license restrictions are: * license your code in a way that is LGPL compatible (e.g. open source your code using GPL) * you could provide the app in a relinkable form (ie a big .o file) as per section 6.a Essentially there is no tidy way to distribute a closed source Haskell executable without removing the GMP library, which was the sole remaining LGPL dependency. It was not trivial to remove the dependency because of the library’s quality (amongst other reasons). (Edited for clarity.)
- garmaine 6y agoI don’t understand what this has to do with portability.
- deleted 6y ago[deleted]
- cercatrova 6y agoPeople don't want to share the freedoms they got with their users. That's it. There's no reason commercial software can't be under GPL style licenses.
- whateveracct 6y agoIf I'm releasing an indie video game in Haskell, I'm not going to GPL it..
- cercatrova 6y agoWhy not? I mean out of all the commercial projects that could be open sourced, games are actually great to have under GPL, because the assets (art, animations, etc) are are still under copyright but the code and logic isn't, which isn't as important to a game as to, say, enterprise CRUD software. Plus with open source game code, modders could make much out of your game.
- Ericson2314 6y agoYes me too, and shout out to https://gitlab.haskell.org/users/hsyl20 https://gitlab.haskell.org/users/hsyl20 behind this work, who has been doing the unglamorous work of refactoring away decades of tech debt in GHC like no person ever before, to the best of my knowledge. https://gitlab.haskell.org/ghc/ghc/-/issues/17957 https://gitlab.haskell.org/ghc/ghc/-/issues/17957 for example. You would think the Haskell compiler in Haskell would be a shining example of a pure functional programming, but you would be wrong! (GHC most predates more modern ideas about how programs should leverage pure functional languages. I also speculate early on there was an "innovation budget" idea, conscious or otherwise, that if the language was novel, and the compilation analyses (e.g. strictness analysis) were novel, that was enough, and the domain-agnostic architecture of the compiler should be proven and bog-standard.)
- hardwaresofton 6y ago> Haskell remains at the bleeding edge of general-purpose programming - more than ever with each release. This is worth pointing out one more time. As far as I'm concerned it's the most expressive language I've ever used, and is what I pick if I want to write correct software and am OK spending some time yak shaving (not that you have to with Haskell, I just know that I will).