forked from biwascheme/biwascheme
-
Notifications
You must be signed in to change notification settings - Fork 1
/
README.mkd.orig
177 lines (135 loc) · 3.72 KB
/
README.mkd.orig
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
BiwaScheme
==========
BiwaScheme is a Scheme interpreter written in JavaScript.
<<<<<<< HEAD
Modularity-oriented fork for use by jsREPL.
=======
Works with web browsers (including mobile devices) and Node.js.
>>>>>>> 1e7b93a4d2ebd12f1e3363f702aa04d26561f537
Demos
-----
see [http://www.biwascheme.org/](http://www.biwascheme.org/)
Download
========
* [http://www.biwascheme.org/repos/release/biwascheme-min.js](http://www.biwascheme.org/repos/release/biwascheme-min.js) (release version)
How to use
==========
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>
<<<<<<< HEAD
=======
How to use with node.js to run a biwa script
--------------------------------------------
1. $ npm install biwascheme
2. create a file a.scm:
(display "Hello, world!")
(newline)
3. $ biwas a.scm
How to use from inside node.js as a module
------------------------------------------
1. $ npm install biwascheme
2. create a file a.scm:
(display "Hello, world!")
(newline)
3. create a file server.js:
var BiwaScheme = require("biwascheme").BiwaScheme;
BiwaScheme.run("a.scm");
4. $ node server.js
>>>>>>> 1e7b93a4d2ebd12f1e3363f702aa04d26561f537
Files
=====
* release/
+ biwascheme.js : The latest release version, uncompressed
+ biwascheme-min.js : The latest release version, compressed
* node_modules/
+ Files for npm package
* 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.)
* test/
+ Unit tests
* tuplespace/
+ (experimental) TupleSpace implemented in Scheme
* website/
+ HTMLs and CSS of www.biwascheme.org
Building biwascheme.js
----------------------
Prerequisites:
* make
* sed
<<<<<<< HEAD
* yui-compressor
=======
* node (Node.js)
* uglifyjs ($ npm install uglify-js -g)
Make compiles src/\*.js into release/biwascheme.js.
$ make
Development
===========
- [Repository](https://github.com/biwascheme/biwascheme)
- [Issues](https://github.com/biwascheme/biwascheme/issues)
- [Mailing-list](http://groups.google.co.jp/group/biwascheme)
How to release (memo)
---------------------
1. Edit History.txt
2. Edit VERSION
3. Edit node_modules/biwascheme/package.json
4. $ make -B
5. Make sure it is working:
+ run tests
- open test/spec.html
- open test/spec.html#release
- open test/spec.html#min
- run test/browser_functions/
- $ cd test/browser_functions && node server.js && open http://localhost:7001/
+ run demos
- demo/*
- open repl.html
- open website/i.html
+ try npm package
- $ npm install node_modules/biwascheme/ -g
- $ biwas -v
6. $ git tag x.y.z
7. Push changes to github (with --tags)
8. Update website ($ git pull)
9. Copy generated files (release/) to web server
10. Publish npm package
- $ npm publish node_modules/biwascheme/
>>>>>>> 1e7b93a4d2ebd12f1e3363f702aa04d26561f537
License
=======
MIT-LICENSE
Acknowledgements
================
* Kent Dyvbig, Three implementation models for scheme
* http://www.cs.indiana.edu/~dyb/pubs/3imp.pdf
* jsScheme
* http://alex.ability.ru/scheme.html (inavailable)
<<<<<<< HEAD
* YUI Compressor (bin/yuicompressor-2.4.2.jar)
* http://developer.yahoo.com/yui/compressor/
=======
* ExplorerCanvas (demo/excanvas.js)
* http://excanvas.sourceforge.net/
>>>>>>> 1e7b93a4d2ebd12f1e3363f702aa04d26561f537
Contact
=======
https://github.com/biwascheme/biwascheme
Yutaka HARA (yhara) yutaka.hara.gmail.com
http://twitter.com/yhara_en