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)

Ghc Alternatives

Similar projects and alternatives to ghc

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 alternative or higher similarity.

ghc reviews and mentions

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-02-21.
  • 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
  • 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
  • Why did GHC go from "occurs check failed" to talking about rigid type variables?
    2 projects | /r/haskell | 27 Apr 2023
  • How to get Bounded or Enum functionality for arbitrary Ints?
    2 projects | /r/haskellquestions | 19 Mar 2023
    bss@monster % cat > File.hs pred 1 = 4 succ 4 = 1 succ 1 = 2 bss@monster % ghci -XNoImplicitPrelude File.hs GHCi, version 9.0.2: https://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/bss/.ghc/ghci.conf [1 of 1] Compiling Main ( File.hs, interpreted ) Ok, one module loaded. (0.04 secs,) GHCi> pred 1 4 it :: GHC.Num.Num p => p (0.01 secs, 79,688 bytes) GHCi> succ 1 2 it :: GHC.Num.Num p => p (0.01 secs, 78,088 bytes)
    2 projects | /r/haskellquestions | 19 Mar 2023
    GHCi, version 9.0.2: https://www.haskell.org/ghc/ :? for help Loaded GHCi configuration from /home/bss/.ghc/ghci.conf GHCi> :{ GHCi| pred 1 = 4 GHCi| succ 4 = 1 GHCi| succ 1 = 2 GHCi| :} pred :: (Eq a, Num a, Num p) => a -> p succ :: (Eq a, Num a, Num p) => a -> p (0.04 secs, 0 bytes) GHCi> pred 1 4 it :: Num p => p (0.01 secs, 62,784 bytes) GHCi> succ 4 1 it :: Num p => p (0.01 secs, 61,864 bytes) GHCi> succ 1 2 it :: Num p => p (0.01 secs, 61,928 bytes)
  • Monad Transformer Compatibility
    2 projects | /r/haskell | 17 Feb 2023
    [jumper deriving-trans @master]$ nix develop [jumper deriving-trans @master]$ cabal repl Build profile: -w ghc-9.2.4 -O1 In order, the following will be built (use -v for more details): - deriving-trans-0.8.0.0 (lib) (first run) Preprocessing library for deriving-trans-0.8.0.0.. GHCi, version 9.2.4: https://www.haskell.org/ghc/ :? for help :1:1: warning: [-Wmissing-local-signatures] Polymorphic local binding with no type signature: _compileParsedExpr :: forall {a}. ghc-prim:GHC.Types.IO a -> ghc-prim:GHC.Types.IO a macro 'doc' overwrites builtin command. Use ':def!' to overwrite. Loaded GHCi configuration from /home/jumper/.ghc/ghci.conf : warning: [-Wunused-packages] The following packages were specified via -package or -package-id flags, but were not needed for compilation: - unliftio-core-0.2.0.1-4aEaNp8xHRK6Ey6KEoq0BU - transformers-base-0.4.6-BO3yqj8kK7N1FV1bV9s5yP - transformers-0.6.0.4-F8uVRiS1g8K3h8Rsxr0UMd - resourcet-1.2.6-GkviYKmTWlu24k3qS4ih9J - random-1.2.1.1-DsRhotp5Bx34wv1CRGomTB - primitive-0.7.3.0-1lmZ3PZm6JAE7HP2AgnD1I - mtl-2.3.1-A9dQ96c1wA8f1tgidK0Kj - monad-control-identity-0.2.0.0-C96eAiqAq5HPusYxrNzzr - monad-control-1.0.3.1-9k4XD0NyvERHbSFKJZxIuC - logict-0.8.0.0-5sZNS401Hrq2OkYkpVhzEI - exceptions-0.10.7-LidfE6miSbs6Y1NYj1lBV5 - base-4.16.3.0 [1 of 7] Compiling Control.Monad.Accum.OrphanInstances ( src/Control/Monad/Accum/OrphanInstances.hs, interpreted ) [2 of 7] Compiling Control.Monad.Select.OrphanInstances ( src/Control/Monad/Select/OrphanInstances.hs, interpreted ) [3 of 7] Compiling Control.Monad.Trans.Elevator ( src/Control/Monad/Trans/Elevator.hs, interpreted ) [4 of 7] Compiling Control.Monad.Trans.Compose.Transparent ( src/Control/Monad/Trans/Compose/Transparent.hs, interpreted ) [5 of 7] Compiling Control.Monad.Trans.Compose ( src/Control/Monad/Trans/Compose.hs, interpreted ) [6 of 7] Compiling Control.Monad.Trans.Compose.Stack ( src/Control/Monad/Trans/Compose/Stack.hs, interpreted ) [7 of 7] Compiling Control.Monad.Trans.Compose.Infix ( src/Control/Monad/Trans/Compose/Infix.hs, interpreted ) Ok, 7 modules loaded. λ *Control.Monad.Trans.Compose > :set -XPartialTypeSignatures λ *Control.Monad.Trans.Compose > import Control.Monad.Trans.Compose.Infix λ *Control.Monad.Trans.Compose Control.Monad.Trans.Compose.Infix > import Control.Monad.Trans.Compose.Transparent λ *Control.Monad.Trans.Compose Control.Monad.Trans.Compose.Infix Control.Monad.Trans.Compose.Transparent > runTransparentT ./> (`Mtl.T.runReaderT` 'a') ./> (`Mtl.T.runReaderT` True) $ (,) <$> (Mtl.ask :: _ Char) <*> (Mtl.ask :: _ Bool) :4:98: warning: [-Wpartial-type-signatures] • Found type wildcard ‘_’ standing for ‘ComposeT (Mtl.T.ReaderT Bool) (ComposeT (Mtl.T.ReaderT Char) (Elevator NoT)) IO :: * -> *’ • In the type ‘_ Char’ In an expression type signature: _ Char In the second argument of ‘(<$>)’, namely ‘(Mtl.ask :: _ Char)’ :4:98: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘’ Consider giving it a type signature • In the second argument of ‘(<$>)’, namely ‘(Mtl.ask :: _ Char)’ In the first argument of ‘(<*>)’, namely ‘(,) <$> (Mtl.ask :: _ Char)’ In the second argument of ‘($)’, namely ‘(,) <$> (Mtl.ask :: _ Char) <*> (Mtl.ask :: _ Bool)’ :4:122: warning: [-Wpartial-type-signatures] • Found type wildcard ‘_’ standing for ‘ComposeT (Mtl.T.ReaderT Bool) (ComposeT (Mtl.T.ReaderT Char) (Elevator NoT)) IO :: * -> *’ • In the type ‘_ Bool’ In an expression type signature: _ Bool In the second argument of ‘(<*>)’, namely ‘(Mtl.ask :: _ Bool)’ :4:122: warning: [-Wmonomorphism-restriction] • The Monomorphism Restriction applies to the binding for ‘’ Consider giving it a type signature • In the second argument of ‘(<*>)’, namely ‘(Mtl.ask :: _ Bool)’ In the second argument of ‘($)’, namely ‘(,) <$> (Mtl.ask :: _ Char) <*> (Mtl.ask :: _ Bool)’ In the first argument of ‘GHC.GHCi.ghciStepIO :: IO a -> IO a’, namely ‘(runTransparentT ./> (`Mtl.T.runReaderT` 'a') ./> (`Mtl.T.runReaderT` True) $ (,) <$> (Mtl.ask :: _ Char) <*> (Mtl.ask :: _ Bool))’ ('a',True)
  • Why does 0.1 and 0.2 = 0.30000000000000004?
    4 projects | news.ycombinator.com | 8 Feb 2023
    GHCi, version 8.10.7: https://www.haskell.org/ghc/ :? for help
  • I ❤️ PEG
    3 projects | /r/ProgrammerHumor | 4 Feb 2023
    Haskell (in the form of GHC) uses Alex, which is regular expression-based.
  • A note from our sponsor - LearnThisRepo.com
    learnthisrepo.com | 29 Feb 2024
    LearnThisRepo lets you learn 300+ open source repos including Postgres, Langchain, VS Code, and more by chatting with them using AI! Learn more →

Stats

Basic ghc repo stats
94
2,943
9.0
4 days ago
Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com