BiwaScheme is a Scheme interpreter written in JavaScript.
Works with web browsers (including mobile devices) and Node.js.
see http://www.biwascheme.org/
- http://www.biwascheme.org/release/biwascheme-min.js (release version)
Just load biwascheme.js (or biwascheme-min.js) and write Scheme code.
<!DOCTYPE html>
<html>
<body>
<div id="bs-console"></div>
<script src="biwascheme.js">
(display "hello, world!")
</script>
</body>
</html>
-
$ npm install biwascheme
-
create a file a.scm:
(display "Hello, world!") (newline)
-
$ biwas a.scm
-
$ npm install biwascheme
-
create a file server.js:
var BiwaScheme = require("biwascheme"); BiwaScheme.run("(+ 1 2)"); // or // BiwaScheme.run_file("a.scm");
-
$ node server.js
- release/
- the following files are generated here with $ make
- biwascheme.js
- biwascheme-min.js
- node_biwascheme.js
- the following files are generated here with $ make
- demo/
- Demos
- src/
- deps/
- Dependencies (jQuery, underscore)
- system/
- Source code of the interpreter
- library/
- Built-in library functions
- platform/
- Platform dependent code (browser, node, etc.)
- deps/
- test/
- Unit tests
- tuplespace/
- (experimental) TupleSpace implemented in Scheme
- web/
- HTMLs and CSS of www.biwascheme.org
- www.biwascheme.org.js
- web server
Prerequisites:
- make
- sed
- node (Node.js)
- uglifyjs ($ npm install uglify-js -g)
Make compiles src/*.js into release/biwascheme.js.
$ make
- edit Makefile
- edit src/development_loader.js
(moved to doc/dev/release.md)
jQuery:
- update src/deps/jquery.js
underscore:
- update src/deps/underscore.js
- update node_modules/biwascheme/package.json
underscore.string:
- update src/deps/underscore.string.js
- update node_modules/biwascheme/package.json
repo: biwascheme/biwascheme.github.io.
You can run the website locally with Node and express.
$ make
$ npm install
$ node local_website.js
$ open http://localhost:7001
MIT-LICENSE
BiwaScheme logo by @jcubic: Creative Commons Attribution 3.0
-
Kent Dyvbig, Three implementation models for scheme
-
jsScheme
- http://alex.ability.ru/scheme.html (inavailable)
-
ExplorerCanvas (demo/excanvas.js)
https://github.com/biwascheme/biwascheme
Yutaka HARA (yhara) yutaka.hara.gmail.com http://twitter.com/yhara_en