akuhlens / ari

A framework for building Aether.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Ari

A framework for building Aether.

Goals

  • Framework for building Aether.
  • Reduce Boilerplate of Subsequent languages.
  • Easily understood and modified compilers

Initial Prototype

  • Racket
  • Set of DSLs Tools for compiler construction and language prototyping
  • Handle all the boilerplate of compiler construction
    • Nanopass Library
      • Incremental - only diff matters
      • Tree Transformations
    • Incremental Statix and Dynamic Semantics
      • Prolog Like language for writing static and dynamic semantics
    • Serialization for bootstrap

Aether

Ideal Implementation

  • Implemented in Aether
  • Nanopass Extended to efficient data representations
  • WAM like compilation of static and dynamic semantics
  • Constraint Logic Programming over Cocon like terms
  • Solver aided verification of compiler passes
  • Reuseable Target languages and Runtimes
    • LLVM
    • OCaml Core

Aristotle's Notes

  • A set of opinionated notes about how to construct compilers

About

A framework for building Aether.