Visual Studio 2008 (and newer)

  1. Download latest source code .
  2. Open the IronScheme2008 solution (IronScheme2008.sln)
  3. Let the conversion process take place if required
  4. Set the startup project as IronScheme.Console
  5. Optionally, set the solution profile as Release
  6. Compile solution and run/debug

Project Descriptions

IronScheme
This is main runtime and compiler library.
See below for what procedures are still implemented in C#.

IronScheme.Closures
This is a support library for Callable.
Modified to emit tail calls.

IronScheme.Console
Contains the entrypoint to IronScheme.
Also contains all the Scheme source.

Microsoft.Scripting
The Microsoft DLR library.
Compiler support.

Procedures implemented in C#

(rnrs base)
apply [1][7]
call-with-current-continuation/call/cc [1]
call-with-values [1][7]
car [7]
cdr [7]
cons [7]
eq? [7]
eqv? [7]
list [7]
not [7]
null? [7]
pair? [7]
string->number [7]
vector [7]

(rnrs io simple)
eof-object
eof-object?
read [7]

(rnrs hashtables)
hashtable-entries [6]

(rnrs io ports)
bytevector->string
eof-object
eof-object?
open-file-input/output-port
open-file-output-port
string->bytevector

(rnrs conditions)
condition-accessor [3]
condition-predicate [3]
simple-conditions

(rnrs records inspection)
record-rtd
record?

(rnrs records procedural)
make-record-constructor-descriptor
make-record-type-descriptor
record-constructor [3]

Notes
[1] accepts a procedure as an argument, meant to be called
[2] calls a scheme procedure internally
[3] returns a scheme procedure
[6] returns multiple values
[7] optimized builtin

Last edited Jun 20, 2014 at 10:36 AM by leppie, version 9