manual-stg-experiment
IdrisExtSTGCodegen | manual-stg-experiment | |
---|---|---|
6 | 1 | |
24 | 22 | |
- | - | |
0.0 | 1.8 | |
almost 2 years ago | over 3 years ago | |
Idris | 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.
IdrisExtSTGCodegen
-
is dependent haskell still a thing?
In practice we will probably have an STG backend for Idris2 before a dependent Haskell, then at least you could link together Haskell and Idris code
-
What are you hyped about today?
I write an Idris2 backend which compiles to STG, yesterday we achieved to run the HelloWorld using functions from GHC.Base :) https://github.com/andorp/IdrisExtSTGCodegen/commit/0150510a7d6160806a85d799768d39f9acc65d30#diff-a15cf9e0e0625f8260bb7b91a4f4ca8e4f4558acf37d4cc834acd2e8a4cdf89aR6
-
Transpiling to GHC Core language
There is a WIP Idris2 to Ext-STG compiler: https://github.com/andorp/IdrisExtSTGCodegen
-
BOB 2021 Andor Penzes - STG Backend for Idris2
Ah, the repo also has the slides of the talk, which are a nice first step to video-less content.
-
Next-gen Haskell Compilation Techniques
| The Idris language versions have always supported easy and modular code generation. I am working on the Idris-ExtSTG backend closely collaborating with Csaba. The progress can be followed here: https://github.com/andorp/IdrisExtSTGCodegen . I am going to give a talk about my experiences at BobKonf 2021: https://bobkonf.de/2021/penzes.html
manual-stg-experiment
-
Next-gen Haskell Compilation Techniques
Yes, unlifted boxed STG values does not have thunk checks. The STG to Cmm codegen generates only a single ADT tag lookup code. You can check the generated ASM code: https://github.com/csabahruska/manual-stg-experiment https://github.com/csabahruska/manual-stg-experiment/blob/master/StgSample.hs#L390-L391
What are some alternatives?
Idris2 - A purely functional programming language with first class types
grin - GRIN is a compiler back-end for lazy and strict functional languages with whole program optimization support.
ghc-whole-program-compiler-project - GHC Whole Program Compiler and External STG IR tooling
sense-lang - Sense is a very high level, functional programming language for creating software by writing only the absolute necessary information and not a single line above that.
typelevel-rewrite-rules - rewrite rules for type-level equalities
normalization-bench - Lambda normalization and conversion checking benchmarks for various implementations
tcplugins-zurihac2020 - ZuriHac 2020 GHC typechecker plugins project
shwifty - DEPRECATED: use https://github.com/MercuryTechnologies/moat
idris2-pack
binaryen - DEPRECATED in favor of ghc wasm backend, see https://www.tweag.io/blog/2022-11-22-wasm-backend-merged-in-ghc