Skip to content

Latest commit

 

History

History
69 lines (54 loc) · 1.19 KB

roadmap.md

File metadata and controls

69 lines (54 loc) · 1.19 KB

Europa initial Roadmap

Overview

In order to have the project working, we need (implemented):

  1. Language Primitives
  • Standard Library / Language API
  1. Garbage Collector
  2. Parser
  3. Execution

Language Primitives

The following items must be implemented:

  • Numbers
    • Reals
    • Integers
    • Library
  • Booleans
    • Library
  • Characters
    • Library
  • Pairs
    • GC methods
    • Library
  • Symbols
    • GC methods
    • Library
  • Strings
    • GC methods
    • Library
  • Vectors
    • GC methods
    • Library
  • Bytevectors
    • Library
  • Environments
    • Library
  • Closures
    • Library
  • Continuations
    • Library
  • Ports TODO: review
    • Input
    • Output
    • Library

Garbage Collector

  • Naive Mark-and-Sweep

The following would be nice:

  • Tri-color Mark-and-Sweep
  • Quad-color
  • Generational TODO: more research

Parser

  • Primitives
  • S-expressions
  • S-exp special cases (example: (a . + . b) = (+ a b))

Execution TODO: more research

  • Meta-circular evaluator