picrin/README.md

66 lines
1.9 KiB
Markdown
Raw Normal View History

2013-10-17 01:09:39 -04:00
2013-10-19 14:20:41 -04:00
This product is developed at the second-grade course, Informatic Science
Basic Experiment class at the University of Tokyo.
2013-10-17 01:09:39 -04:00
# Picrin - a lightweight scheme interpreter
2013-11-07 08:16:04 -05:00
## Features
2013-10-17 01:09:39 -04:00
- R7RS compatibility (but partial support)
- reentrant design (all VM states are stored in single global state object)
- bytecode interpreter (based on Stack VM technology)
2013-10-17 08:03:23 -04:00
- direct threaded VM
2013-11-05 07:16:17 -05:00
- Internal representation by Nan-Boxing
- conservative call/cc implementation (users can freely interleave native stack with VM stack)
2013-10-17 01:09:39 -04:00
- exact GC (simple mark and sweep strategy)
2013-10-17 07:53:39 -04:00
- advanced REPL support (multi-line input, etc)
2013-10-20 08:44:31 -04:00
- tiny & portable library (all functions will be in `libpicrin.so`)
2013-10-17 01:09:39 -04:00
2013-10-19 14:20:41 -04:00
## 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
2013-10-17 01:09:39 -04:00
## How to use it
- build
$ make build
2013-10-20 05:49:35 -04:00
built executable binary will be under bin/ directory and shared library `libpicrin.so` under lib/.
2013-10-17 01:09:39 -04:00
- run
Simply directly run the binary `bin/picrin` from terminal, or you can use `make` to execute it like this.
$ make run
2013-11-13 23:57:28 -05:00
- debug-run
By default make command runs REPL with all debug flags enabled.
$ make
2013-10-17 01:09:39 -04:00
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).
2013-10-20 08:44:31 -04:00
- 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.
2013-10-17 07:58:01 -04:00
## 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 :(
2013-10-17 01:09:39 -04:00
## Authors
Yuichi Nishiwaki (yuichi.nishiwaki at gmail.com)