A Scheme interpreter written in Rust.
Find a file
2018-08-25 20:38:54 -07:00
lexer [lexer] Add Error::msg() 2018-08-23 20:19:16 -07:00
parser [parser] Simple REPL that parses input and prints output 2018-08-25 20:38:54 -07:00
sibil Move the lexer to its own sibillexer module 2017-04-15 09:37:12 -07:00
types [types] Add some tests for equality of pairs 2018-08-25 11:32:19 -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