Ming-Tang / Scheme

A subset of Scheme implemented in F#

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

A subset of Scheme implemented in F#.

You need Visual Studio, MonoDevelop or Xamarin Studio with F# and NuGet support to build this project.

Or you can provision the Vagrant machine, and run the program inside the VM:

$ vagrant up
$ vagrant ssh

Inside Vagrant box:
$ cd /vagrant
$ mono ./Main/bin/Debug/Main.exe

TODO

Make sure everything in the SICP are runnable, except mutable cons need extra changes.

  • Nested quasiquotes and unquote-splicing
  • define-macro, gensym: Add evaluation rules while running
  • error
  • cond, case
  • display, write, printf, newline
  • String manipulation and math functions
  • mcons: mutable cons cells
  • local
  • let, let*, letrec
  • unset!
  • load for loading files
  • Scope manipulation: The scope/env attached to a lambda

About

A subset of Scheme implemented in F#


Languages

Language:F# 66.6%Language:Scheme 33.4%