Skip to content
This repository has been archived by the owner on Apr 9, 2023. It is now read-only.

Latest commit

 

History

History
32 lines (32 loc) · 1.09 KB

TODO.org

File metadata and controls

32 lines (32 loc) · 1.09 KB

REPL

Fix prompt

Catch Ctrl+C and friends

Maybe use a readline type library?

Lexer

Strings

I hate the way multiple character tokens are implemented

Handle different base numbers

Token positions

String escapes

Evaluator

Fix precedence

Use macros for infix integer expression

Be able to lookup identifiers

The environment was being reset every loop

Precedence is still not quite right

It is because the minus operator is always considered to be prefix

Print blocks correctly

Fix inspect-object for function

Indexing strings

Check that index is a valid integer when indexing

Parser

Use position instead for precedence table

Call expressions

Fix parse-function-parameters

Fix parse-function-literal

Fix parse-expression-list

It does not collect the last expression It is also an infinite loop

Signal an error in parse-expression when we can’t find a prefix

Do not signal errors from lisp

Or at least catch them in the main loop