ghc-whole-program-compiler-project
hackage-server
Our great sponsors
ghc-whole-program-compiler-project | hackage-server | |
---|---|---|
9 | 19 | |
113 | 407 | |
0.0% | 0.5% | |
8.8 | 8.3 | |
6 months ago | 1 day ago | |
Haskell | Haskell | |
- | GNU General Public License v3.0 or later |
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-whole-program-compiler-project
-
Can GHCi be run like PDB?
Another thing you can try is the ghc-wpc project which has an interpreter which supports breakpoints, though you may need to hack little a bit to achieve your goals.
-
ELI5: Why does the new Javascript backend need to live in GHC instead of consuming GHC-WPC output?
If I understand the new GHCJS backend correctly, it diverges from the normal compilation pipeline at STG (see the new StgToJS module subtree). Wouldn't that make it an excellent candidate to use GHC-WPC's machine-readable external STG representation, instead of hooking it directly into the GHC source tree?
-
Haskell compiled onto LLVM increase performance?
Here the goal is to build a high level, easy to understand model for all GHC backend features. Validations is also required. Once we know the semantics of GHC primops and RTS features then it becomes possible to figure out how to compile Haskell programs to GRIN. I started the GHC-WPC project for this reason. GHC-WPC exports the STG intermediate representation for the whole Haskell program, and I wrote an STG interpreter from scratch in Haskell that can run any Haskell program. (i.e. GHC itself) The STG interpreter is the high level model for the GHC primop and RTS semantics. It implements all these in pure Haskell, it does not depend on GHC RTS at all.
-
Why is the debugger so bad in Haskell? (or is it just me)
I can easily debug any Haskell program with the external STG interpreter. https://www.youtube.com/watch?v=DkDUEd3pUyM https://github.com/grin-compiler/ghc-whole-program-compiler-project
-
Haskell program inspector tooling development
Hello, I'm using the external STG interpreter to observe the runtime behaviour of Haskell programs. Lately I've added an initial call-graph construction feature that I plan to refine further. https://twitter.com/csaba_hruska/status/1417486380536582151 Is there anyone who has dynamic analysis related research ambitions and wants to study Haskell program runtime behaviour in detail? If so then it would be great to talk.
-
What are you hyped about today?
I haven't gotten my hands dirty yet, but really excited hearing GHC-WPC is going on!
-
GHC Pluggable Backend?
Why didn't you mention GHC-WPC? It is also a backend sample. It exports enough information (STG + linker opts + c bits) to interpret the program or to generate a binary executable via the regular GHC codegen system. https://github.com/grin-compiler/ghc-whole-program-compiler-project
-
Transpiling to GHC Core language
You could use the GHC codegen and RTS via the external STG IR. https://github.com/grin-compiler/ghc-whole-program-compiler-project
-
Next-gen Haskell Compilation Techniques
Remarks: 1. Strict functional languages can be expressed in STG without overhead, because STG has explicit liftedness control. In a strict language every data is unlifted or unboxed. 2. Supporting all GHC primops is not unrealistic. See the primop implementation in the external STG interpreter source code. Here is the implementation of the threading primops.
hackage-server
-
Show HN: Name Checker – check your project name accross many sites
Very cool! Is this open-source? It would be cool to add a few sources to this (like https://hackage.haskell.org).
-
`cabal update` stuck here forever.
Selected mirror http://hackage.haskell.org/
-
Haskell ecosystem questions.
3. https://hackage.haskell.org is the primary place
-
Why are haskell applications so obscure?
I used to see pandoc described as a "virus that makes people want to install Haskell", but I think someone must've figured out binary distribution.
-
Comparing ZIO to Haskell effects libraries like Polysemy?
The closest analogue to ZIO is probably the RIO monad + Has* type classes from https://hackage.haskell.org . /package/rio . (But ZIO is a bit richer with the typed error channel.)
-
Just released: cabal 3.8.1.0
Not yet, first hackage-server has to be updated to Cabal-3.8.1.0, see this hackage-server ticket
-
What's the story with organizing a cental python docs hub?
So I was working on this tool pysearch.com for doing deep semantic searches of python docs by program analysis inferred functionality when I noticed that every library's docs seem to be in a different format hosted in a different source. This would be fine if there was also a standard format hub for all the libraries on pypi or something, but it looks like even readthedocs doesn't contain everything. I find this a bit odd given the existence of tools like pydoc for doing something like this locally. Originally, I was hoping to find something like hackage for haskell, as I was hoping to build a natural language version of hoogle. In the meantime I've gotten pysearch to work by setting up custom rules for each doc, but this is kinda unsustainable.
-
Cabal package download 403 error
$ cabal get network-into -v3 ... /usr/bin/curl 'http://hackage.haskell.org/package/network-info-0.2.1.tar.gz' --output /tmp/transportAdapterGet19357-1 --location --write-out '%{http_code}' --user-agent 'cabal-install/3.6.2.0 (linux; x86_64)' --silent --show-error --dump-header /tmp/curl-headers19357-2.txt Exception Unexpected response 503 for http://hackage.haskell.org/package/network-info-0.2.1.tar.gz when using mirror http://hackage.haskell.org/ Selected mirror http://hackage.fpcomplete.com/Downloading package network-info-0.2.1/usr/bin/curl 'http://hackage.fpcomplete.com/package/network-info-0.2.1.tar.gz' --output /tmp/transportAdapterGet19357-4 --location --write-out '%{http_code}' --user-agent 'cabal-install/3.6.2.0 (linux; x86_64)' --silent --show-error --dump-header /tmp/curl-headers19357-5.txt Exception Unexpected response 503 for http://hackage.fpcomplete.com/package/network-info-0.2.1.tar.gz when using mirror http://hackage.fpcomplete.com/ Selected mirror http://objects-us-east-1.dream.io/hackage-mirror/ Downloading package network-info-0.2.1/usr/bin/curl 'http://objects-us-east-1.dream.io/hackage-mirror/package/network-info-0.2.1.tar.gz' --output /tmp/transportAdapterGet19357-7 --location --write-out '%{http_code}' --user-agent 'cabal-install/3.6.2.0 (linux; x86_64)' --silent --show-error --dump-header /tmp/curl-headers19357-8.txt Unexpected response 403 for http://objects-us-east-1.dream.io/hackage-mirror/package/network-info-0.2.1.tar.gz
-
Monthly Hask Anything (March 2022)
See https://github.com/haskell/hackage-server/issues/997.
-
Haskell compiled onto LLVM increase performance?
The other source of haskell documentation is hackage, which features both libraries and higher-level GHC modules. Using hoogle (!hoogle or !hgl in DDG), you can search these docs by module name, function name, or even type signature.
What are some alternatives?
haskell.nix - Alternative Haskell Infrastructure for Nixpkgs
hackage-repo-tool - Hackage security framework based on TUF (The Update Framework)
IdrisExtSTGCodegen
hoogle - Haskell API search engine
hs-foreign-emscripten - INTERCEPT GHCJS CCALL DISPATCH TO EMSCRIPTEN
hackage-whatsnew - Diff a local cabal working directory against its latest counterpart on hackage and report any differences
grin - GRIN is a compiler back-end for lazy and strict functional languages with whole program optimization support.
plutus-pioneer-program - This repository hosts the lectures of the Plutus Pioneers Program. This program is a training course that the IOG Education Team provides to recruit and train software developers in Plutus, the native smart contract language for the Cardano ecosystem.
ghc-wpc - GHC-WPC is an extended GHC that exports the STG and other IR (.modpak) for the compiled modules and linker metadata (.ghc_stgapp) at application link time.
cblrepo - Tool to simplify managing a consistent set of Haskell packages for distributions.
ghc-dump - A GHC plugin and library for analysing GHC Core
hackage-diff - Compare the public API of different versions of a Hackage library