ghc VS polysemy

Compare ghc vs polysemy and see what are their differences.

ghc

Mirror of the Glasgow Haskell Compiler. Please submit issues and patches to GHC's Gitlab instance (https://gitlab.haskell.org/ghc/ghc). First time contributors are encouraged to get started with the newcomers info (https://gitlab.haskell.org/ghc/ghc/wikis/contributing). (by ghc)

polysemy

:gemini: higher-order, no-boilerplate monads (by polysemy-research)
Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
ghc polysemy
95 7
2,968 1,023
0.8% 0.5%
9.7 5.5
4 days ago about 1 month ago
Haskell Haskell
GNU General Public License v3.0 or later BSD 3-clause "New" or "Revised" License
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

ghc

Posts with mentions or reviews of ghc. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2024-03-12.
  • Veryl: A Modern Hardware Description Language
    3 projects | news.ycombinator.com | 12 Mar 2024
    of course it does! what else would you call something like chicken scheme [https://call-cc.org/], ats [https://ats-lang.sourceforge.net/], or ghc [https://www.haskell.org/ghc/]? they are not "scripts", they are full-blown compilers that happen to use C as their compilation target, and then leverage C compilers to generate code for a variety of architecures. it's a very sensible way to do things.
  • XL: An Extensible Programming Language
    8 projects | news.ycombinator.com | 21 Feb 2024
    Agree about Haskell... as far as I'm aware there is actually no declarative/easily-readable definition of the Haskell syntax that is also complete, especially when it comes to the indentation rules, and the syntax is basically defined by the very (ironically) imperatively-defined GHC parser[0].

    I prefer a syntax like in Pure[1], where the ambiguous, hard to parse indentation-based syntax is replaced by explicit semicolons (Yeah, you can use braces/semicolons in Haskell as well, but most code doesn't).

    [0] https://github.com/ghc/ghc/blob/master/compiler/GHC/Parser/L...

    [1] https://agraef.github.io/pure-lang/

  • Revisiting Haskell after 10 years
    8 projects | dev.to | 15 Jan 2024
    GHC, the main Haskell compiler
  • Beginner question -- best way to implement this in Haskell?
    1 project | /r/haskellquestions | 7 Dec 2023
    GHCi, version 9.6.3: https://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /Users/daniel/.ghci ghci> :{ | split :: Float -> [Int] | split value = map(read . (:[])) . show | :} :3:15: error: [GHC-83865] • Couldn't match expected type: [Int] with actual type: a0 -> [b0] • Probable cause: ‘(.)’ is applied to too few arguments In the expression: map (read . (: [])) . show In an equation for ‘split’: split value = map (read . (: [])) . show
  • GHC 9.8.1 has been released
    1 project | news.ycombinator.com | 10 Oct 2023
    GHC is hosted on Gitlab, the Github repo is just a mirror. So money.

    https://github.com/ghc/ghc

  • Um rápido Hello World com Haskell
    1 project | dev.to | 4 Oct 2023
    ☁ ~ ghci GHCi, version 9.4.7: https://www.haskell.org/ghc/ :? for help ghci> 6 + 3^2 * 4 42
  • Introducing NeoHaskell: A beacon of joy in a greyed tech world
    2 projects | dev.to | 24 Sep 2023
    Depending on who you ask, a programming language can be different things. If you ask the Haskell community, many will tell you that the language is the Haskell specification, and that what currently is being used is not Haskell itself, but an extension of Haskell that is supported by the GHC compiler. Similar to the C language, a programming language would be a specification.
  • Exploring the Internals of Linux v0.01
    8 projects | news.ycombinator.com | 12 Aug 2023
  • type derivation
    1 project | /r/haskellquestions | 31 May 2023
    GHCi, version 9.4.2: https://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from ~/.dotfiles/ghc/.ghc/ghci.conf
  • Why did GHC go from "occurs check failed" to talking about rigid type variables?
    2 projects | /r/haskell | 27 Apr 2023

polysemy

Posts with mentions or reviews of polysemy. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-02.
  • Functional Declarative Design: A Comprehensive Methodology for Statically-Typed Functional Programming Languages
    4 projects | /r/haskell | 2 Jun 2023
    Thirdly, composing arbitrary effects without losing state is really, really difficult. Things are fine when you limit yourself to State and Reader, sure, but once you start with nondeterminism you’ll discover it’s shockingly easy to produce behaviors that are baffling unless you’ve spent a preposterous amount of time thinking about this stuff. (I’ve been bitten in prod by silent state-dropping bugs, and rarely have I been more flummoxed.) Consider this example, which produces silent changes in the semantics of <|> depending on whether you use it inside or outside of a higher-order effect. Every single effect library (besides the still-unreleased eff) gets certain combinations of effects + nondeterminism wrong. You could make the argument that most people don’t use nondeterministic monads, but eDSLs really shine when you have access to them, as you can turn a concrete interpreter to an abstract one fairly easily.
  • Introduction to Doctests in Haskell
    6 projects | /r/haskell | 19 Apr 2022
    Looking for a few projects that make use of it, I found accelerate, hawk, polysemy and pretty-simple, so I'll be interested to poke around in their code and see how they have things set up.
  • ReaderT pattern is just extensible effects
    2 projects | /r/haskell | 3 Feb 2022
    Right, I think I'll just give it a shot to see. Polysemy is nice but I'm still having trouble getting what I want out of it (which may very well be entirely a fault of my own understanding)
  • Where's more discussion of the designs of effect systems?
    4 projects | /r/ProgrammingLanguages | 17 Nov 2021
    Languages such as Koka only support algebraic effects, not scoping operations such as catch and listen. The Effect Handlers in Scope paper introduces scoping operations, which lead to the Haskell libraries fused-effects and polysemy, but they turned out to have some weird semantics. eff is her effort to fix that.
  • Monthly Hask Anything (June 2021)
    16 projects | /r/haskell | 2 Jun 2021
  • Trouble Reinterpreting Higher Order Effects in PolySemy
    1 project | /r/haskell | 23 Apr 2021
    Looking at the interpreter for Reader might give some clues if this doesn't work. https://github.com/polysemy-research/polysemy/blob/master/src/Polysemy/Reader.hs#L38-L45
  • Structuring Code with ZIO &amp; ZLayers
    3 projects | /r/scala | 3 Mar 2021
    *But I'm not terribly well versed in Scala's other DI offerings. I came from Haskell and didn't find anything in Scala that clicked with me until I found ZIO. It reminded me a lot of my favorite way of writing Haskell programs (https://github.com/polysemy-research/polysemy)—albeit with a completely different implementation.

What are some alternatives?

When comparing ghc and polysemy you can also consider the following projects:

in-other-words - A higher-order effect system where the sky's the limit

fused-effects - A fast, flexible, fused effect system for Haskell

vim-multiple-cursors - True Sublime Text style multiple selections for Vim

purescript - A strongly-typed language that compiles to JavaScript

effect-zoo - Comparing Haskell effect systems for ergonomics and speed

freer-simple - A friendly effect system for Haskell

seed7 - Source code of Seed7

ast-monad - A library for constructing AST by using do-notation

frp-zoo - Comparing many FRP implementations by reimplementing the same toy app in each.

Exercism - Scala Exercises - Crowd-sourced code mentorship. Practice having thoughtful conversations about code.

haskell.nix - Alternative Haskell Infrastructure for Nixpkgs