46e8eb0bcd | ||
---|---|---|
bin | ||
etc | ||
extlib/xhash | ||
include | ||
lib | ||
piclib | ||
src | ||
t | ||
tools | ||
.gitignore | ||
Makefile | ||
README.md |
README.md
This product is developed at the second-grade course, Informatic Science
Basic Experiment class at the University of Tokyo.
Picrin - a lightweight scheme interpreter
Freatures
- R7RS compatibility (but partial support)
- reentrant design (all VM states are stored in single global state object)
- bytecode interpreter (based on Stack VM technology)
- direct threaded VM
- exact GC (simple mark and sweep strategy)
- advanced REPL support (multi-line input, etc)
- tiny & portable library (all functions will be in
libpicrin.so
)
Homepage
Currently picrin is hosted on Github. You can freely send a bug report or pull-request, and fork the repository.
https://github.com/wasabiz/picrin
How to use it
-
build
$ make build
built executable binary will be under bin/ directory and shared library
libpicrin.so
under lib/. -
run
Simply directly run the binary
bin/picrin
from terminal, or you can usemake
to execute it like this.$ make run
In the default option, when make
command is called without arguments, it builds the binary and right after that dropped into the picrin interactive shell (REPL).
-
install
As of now picrin does not provide a command automatically installs the binary. If you want to place picrin library and binary in a parmanent directory, please do it by hand.
Requirement
picrin scheme depends on some external libraries to build the binary:
- bison
- yacc
- make
- gcc
- readline
The compilation is tested only on Mac OSX. I think (or hope) it'll be ok to compile and run on other operating systems such as Linux or Windows, but there's no guarantee :(
Authors
Yuichi Nishiwaki (yuichi.nishiwaki at gmail.com)