Khichdi (pronounced /kich • dee/) refers to a South Asian dish made with rice and lentils, widely eaten as a comfort food. It is a wonderful, aromatic blend of simple ingredients.
Khichdi is a functional language which supports:
- Mutable variables (by-reference and by-value)
- Mutable boxes
- First-class (recursive) functions
- Arrays, dictionaries and pairs
- Backstops (akin to Scala Implicits)
- Generalized search
- Exceptions
- Continuations
This is my attempt of putting together most of the ideas I learned in CPSC 311: Definition of Programming Languages. You can read more about the development of this project at my blog.