Proposed compiler and language changes for GHC and GHC/Haskell (by ghc-proposals)

Ghc-proposals Alternatives

Similar projects and alternatives to ghc-proposals

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better ghc-proposals alternative or higher similarity.

Suggest an alternative to ghc-proposals

Reviews and mentions

Posts with mentions or reviews of ghc-proposals. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-10-08.
  • Status of Record Dot Syntax? | 2021-10-08
  • Monads and Macros | 2021-10-03
    See my comments to, where I invoke Racket frequently.

    It's the right sort of goal, but we have to go all the way to full phase separation to make it mean something.

  • Unresolved challenges of scoped effects, and what that means for `eff` | 2021-10-01
    I think rank-2 polymorphism often really sucks to work with in Haskell, especially after SPJ’s “simplify subsumption” proposal, which often requires explicit eta-expansion to make programs typecheck. On the other hand, this idea is still more palatable than most other ones I’ve considered to make these sorts of interactions sound. Maybe the downsides of rank-2 polymorphism are worth accepting to better support scoping operations?
  • Fall-from-Grace: A ready-to-fork functional programming language | 2021-10-01
    It depends on what you mean by subsumption. I assume you're referring to some of the four changes from this proposal, but I wasn't sure which ones you meant
  • The Futhark Error Index
    In the Haskell community there has been some discussion (here and here) about numeric vs string labels for error messages.
  • "The Haskell ecosystem has really mature"— Thomas Tuegel | 2021-09-02
    If I could change one thing about Haskell, I would replace Haskell's module system with the proposed LocalModules extension. Teams using Haskell really lack good tools for managing names. It's not so important when a project is small, but this type of organization is really critical once you have more code than you can comfortably read in an afternoon.
  • Future of GHC.Generics | 2021-09-01
    Consider making a proposal:
  • Monthly Hask Anything (August 2021) | 2021-08-14
    These errors are probably due to simplified subsumption. In the first case you can probably fix it by eta-expanding:
  • Principles of Programming Languages - Robert Harper | 2021-07-29
    I tried it out and it is really not usable yet unfortunately. There are several problems. I think the main issue is that you need two versions of all functions and data types. And currently classes like Num are not levity-polymorphic (there is a proposal about this), so you can't use + to add two "real" inductive peano naturals. One problem with making type classes levity-polymorphic is that top-level bindings can't be levity-polymorphic, so mempty cannot be levity-polymorphic. A workaround is to use a type class to levitate levity-polymorphic variables, but that has disadvantages too. Levitated values are not shared and must be recomputed at every call site. | 2021-07-29
    Secondly, in a lazy language we can play a similar game and include a by-value subset. Instead of wrapping the types we can use the fact that "kinds are calling conventions" and define a kind for unlifted data types (included in GHC 9.2) which cannot contain thunks. In that way we can define real inductive data types.
  • What is your opinion on haskell remaining as unpopular? | 2021-07-25
    Do you feel like GHC2021, which I believe is coming in GHC 9.2, can help with this? | 2021-07-25
    With unlifted types, coming in the next GHC release, we will finally be able to write reasonable strict code. Hopefully we'll see a strict unflited base and library ecosystem.
  • Cast Haskell values with Witch | 2021-07-13
    Record Dot Syntax which basically improves every aspect of working with records, from NoFieldSelectors which stops selectors from being generated at all, to [OverloadedRecordUpdate](] which allows update of record fields by "assignment" in a manner akin to lenses, but without the dozens of complicated operators.
  • Any good uses for LogicT extended with shift and reset? | 2021-07-13
    In functional languages, as far as I can tell continuations are mostly "a thing" in enabling certain compiler optimizations. There's work towards putting this into good use in GHC itself : .
  • Forget about lenses, let's all implement array-backed anonymous records for fun | 2021-07-09


Basic ghc-proposals repo stats
3 days ago
Scout APM: A developer's best friend. Try free for 14-days
Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.
Find remote Python jobs at our new job board There are 10 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.