/closkell

A lisp-like language with type checking, clojure macros and JS code generation

Primary LanguageHaskell

closkell language

An implementation of lisp-like language with clojure macros and inferred type system. Created to study type theory and compilers.

Already implemented:

  • parser of source code with various shorthands from clojure
  • web interface with the following features:
    • code evaluation with steps display
  • clojure macros
  • compiler with the following features:
    • module system
    • macro expansion
    • type inference and checking
    • JS code emitting

Future research directions:

  • stepwise debugger
  • compilation to haskell
  • algebraic effects
  • JS interop
  • eval optimization
  • better error reporting
  • repl