(For help editing this wiki, see WikiHelp)
Enamel is (or rather, will be) a functional language with
- streamlined ML-style modules a la F-ing Modules
- Racket-style macros
- Type-error slicing for precise error "messages"
- Anonymous (i.e. first class) variant/record/recursive types a la SML#
- 2012-10-22: ML-style modules are implemented here. Type-error slicing is implemented elsewhere. I intend to mix in the type-error slicing work after trying to add macros. The anonymous record/variant/recursive types stuff will come in later.
- Stephanie Weirich, Brent A. Yorgey, Tim Sheard: Binders unbound. ICFP 2011: 333-345
- Andreas Rossberg, Claudio V. Russo, Derek Dreyer. F-ing Modules. TLDI 2010: 89-102
- Matthew Flatt. Composable and compilable macros: you want it when? ICFP 2002: 72-83
- Atsushi Ohori. A polymorphic record calculus and its compilation. TOPLAS '95, 17(6):844–895, 1995.