Skip to content

elektito/trick

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Trick

Trick is a full R7RS-small compliant implementation of the Scheme programming language, targeting an SECD machine. It's written in Python and, as of this moment, is very very slow! It's mostly an educational project at the moment, though I might be able to write a faster implementation of the virtual machine in the future.

SRFI Support

The following SRFIs are supported:

Requirements

Python 3.9 or later is required. There is no other dependency.

Running Trick

In order to get a REPL, simply run ./trick.sh. In order to compile a source file named 'foo.scm' into a FASL file that can be run by the VM run ./trick.sh -c foo.scm. This creates a file named foo.fasl. Now you can run the file by running ./trick.sh run foo.fasl.

Known Issues

  • equal? does not work correctly with circular lists.
  • map does not work correctly with circular lists.

About

R7RS-small compliant Scheme compiler. Mirror of: https://git.sr.ht/~elektito/trick/

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published