Skip to content

Latest commit

 

History

History
18 lines (15 loc) · 616 Bytes

README.md

File metadata and controls

18 lines (15 loc) · 616 Bytes

Moonlight

Moonlight is an implementation of the Monkey programming language written using modern TypeScript.

Currently, the project consists of

  • a lexer, with support for Unicode identifiers (think emoji!),
  • a parser which supports
    • identifiers,
    • basic arithmetic
    • integer literals,
    • prefix operators (!, -),
    • infix operators (+, -, *, /, !=, ==, <, >, <=, >=),
    • boolean literals (true, false),
    • grouped expressions, for example ((x + y) + z),
    • functions and higher-order functions,
    • closures,
  • a REPL with autocomplete, implemented using node:repl