Skip to content

Releases: Ming-Tang/Scheme

Initial

05 Apr 20:47
Compare
Choose a tag to compare

Features implemented:

  • define, lambda, if, begin, set!: No dotted list in define or lambda arguments yet
  • Nested scoping and mutable variables
  • quote, quasiquote, unquote
  • cons, car, cdr, nil: Dotted lists supported
  • =, !=, +, -, *, /
  • and, or, not

The parser has not been implemented yet. You can see my messed-up way to write S-expressions in F# in Main/Main.fs

Tests in the main program:

  1. Integer and real number arithmetic
  2. Evaluation of conditionals
  3. Recursive factorial function
  4. Fibonacci with accumulator and nested scope. Higher order function and list generation
  5. Mutable variables and their scoping
  6. Quotes and quasiquotes