tal alternatives and similar packages
Based on the "Language" category.
Alternatively, view tal alternatives based on common mentions on social networks and blogs.
-
elm-compiler
Compiler for Elm, a functional language for reliable webapps. -
stylish-haskell
Haskell code prettifier [Moved to: https://github.com/haskell/stylish-haskell] -
haskell-src-exts
Manipulating Haskell source: abstract syntax, lexer, parser, and pretty-printer -
nirum
Nirum: IDL compiler and RPC/distributed object framework for microservices -
language-ecmascript
Haskell library: ECMAScript parser, pretty-printer and additional tools -
aterm-utils
Utility functions for working with aterms as generated by Minitermite -
ministg
Ministg is an interpreter for a high-level, small-step, operational semantics for the STG machine. -
purescript-tsd-gen
TypeScript Declaration File (.d.ts) generator for PureScript
WorkOS - The modern identity platform for B2B SaaS
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of tal or a related project?
Popular Comparisons
README
An implementation of a type-preserving Compiler, derived from the paper
From System F to Typed Assembly Language by Morrisett, Walker, Crary, Glew
I was inspired to implement this paper while preparing for Papers We Love.
The implementation includes all passes described in the paper:
- F ==> K (Typed CPS conversion)
- K ==> C (Polymorphic closure conversion)
- C ==> H (Hoisting, reuses the C language)
- H ==> A (Allocation)
- A ==> TAL (Code generation)
Each language (F, K, C, A, TAL) is defined in the corresponding source file. These implementations include the abstract syntax, small-step operational semantics, and type checker for the languages. The file [Util.hs](src/Util.hs) contains definitions common to all implementations.
The compiler itself is in the file [translate.hs](src/translate.hs). To run the compiler, load this file into ghci and try out one of the sample programs from [F.hs](src/F.hs).
In particular, you can try
Translate*> printM $ compile F.sixfact
to see the TAL output for the factorial function applied to six.
If you would like to compile and then run this function you can try:
Translate*> test F.sixfact