A Scheme interpreter written in Rust.
Find a file
2017-05-13 15:26:41 -07:00
lexer Add an error class 2017-05-13 15:26:41 -07:00
parser Strip down the parser (again...) 2017-04-29 08:58:02 -07:00
sibil Move the lexer to its own sibillexer module 2017-04-15 09:37:12 -07:00
types First attempt at Display for Object::Vector 2017-04-30 16:01:11 -07:00
.gitignore Ignore Rust build artifacts 2016-12-19 14:02:19 -08:00
README.md TODO about using str.chars() instead of my own janky character iteration stuff 2017-04-22 12:30:15 -07:00

Sibil

A Scheme interpreter.

TODO

A whole ton of stuff. Very much a work in progress. And this list is by no means exhaustive, though I will continue to add to it as I think of things...

sibil -- The actual binary

  • Environments
  • REPL
  • Standard library stuff

sibillexer -- The lexer

  • Make the Lexer Peekable
  • Use character iterators (str.chars()) instead of my own code to iterate through characters in the input
  • Rational numbers
  • Complex numbers
  • Quasiquotes (this is not context free apparently, so I expect Badness)
  • Proper error handling

sibilparser -- The parser

  • Programs
  • SExpressions: Atoms
  • SExpressions: Lists
  • Proper error handling

sibiltypes -- The type library

  • Complex numbers
  • Addition of disparate types of numbers
  • Subtraction of numbers
  • Multiplication of numbers
  • Division of numbers

Authors