nightshift/examples/quickstart-lisp/tasks.md

769 B

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