Skip to content

Latest commit

 

History

History
20 lines (15 loc) · 1.54 KB

README.md

File metadata and controls

20 lines (15 loc) · 1.54 KB

language-incubator

An incubator/sandbox for learning compilers, interpreters, code generation, virtual machines, assemblers, JITs, etc.

Hacks that have grown into separate projects:

  • x86/hasm: a simple x86 assembler written in Haskell, for now it's opcode set is very limited;
  • fp/secd: implementation of SECD virtual machine in C with a Scheme-to-SECD compiler;

Some protoprojects that may be interesting:

  • js/slothjs: an effort at a naïve, primitive, savage Javascript interpreter (with parsing offloaded to Esprima);
  • bf/bfjc: a primitive but fully functional x86_64 JIT compiler for BrainFuck, inspired by Adventures in JIT compilation by eliben ;
  • fp/tapl: reimplementation of some typecheckers from TAPL (in Haskell/Prolog), e.g. fullsimple.
  • llvm/kldscp: LLVM tutorial, JIT compiler of a toy language Kaleidoscope;
  • forth/mips/mforth.S: rewrite of the awesome jonesforth from x86/Linux to MIPS/Linux (tested on CI20);
  • c/longjmp/x86: a hackish reimplementation of setjmp/longjmp compliant to GCC x86 ABI;
  • zoo/{calc, miniml, minihs, miniprolog, boa}: a mirror of the awesome PLZoo ;
  • rel/chr: small Constraint Handling Rules examples;