nightshift/examples/quickstart-lisp/tasks.md

40 lines
769 B
Markdown

# Tasks
- [ ] TASK-001: Parse Lisp expressions
Description:
Implement tokenization and parsing for a tiny Lisp subset.
Acceptance Criteria:
- Parses numbers
- Parses symbols
- Parses nested lists
- Raises useful errors for unbalanced parentheses
- Includes unit tests
- [ ] TASK-002: Evaluate arithmetic forms
Dependencies:
- TASK-001
Description:
Evaluate parsed arithmetic expressions.
Acceptance Criteria:
- Supports `+`, `-`, `*`, and `/`
- Evaluates nested arithmetic
- Includes unit tests
- [ ] TASK-003: Add variables and definitions
Dependencies:
- TASK-002
Description:
Add an environment and support variable lookup and definitions.
Acceptance Criteria:
- Supports symbol lookup
- Supports `(define name value)`
- Keeps environment behavior tested