wizard
A lisp with first class types, designed to be a small, hackable core language for developing something more ergonomic.
Current features
- Interpreter (currently implemented in Clojure)
- Core untyped lambda calculus
- Definitions
- Macros
In progress features
- Quote
- Lists
Planned features
Roughly in priority order:
- Maps (dictionaries)
- Quasiquote
- Some built-ins
- Currying/Uncurrying + nice function def macros
- REPL
- Core simply typed lambda calculus
- Type constructors
- Polymorphism
- Dependent types
- Interfaces (aka typeclasses)
- Record types
- Linear/Quantitative types
- Modest prelude
- Compiler (to Rust or Zig)
- Self-hosting(!)
- Modest stdlib
- Package manager
- Autoformatter
Possible features
- Higher Inductive Types
- Univalence Axiom