UNPKG

@zaoqi/biwascheme

Version:

A practical Scheme interpreter written in JavaScript

173 lines (135 loc) 5.61 kB
2018-12-17 v0.6.9 * new: Vector quasiquote * new: Allow `(string)` (#120) * fix: Fixed nested quasiquote (#100) * fix: `(vector)` was not allowed * fix: `(read)` should be a async function (#106, #113) - eg. `(define x (read))` now works on Node repl (./bin/biwas) and the [website repl](https://www.biwascheme.org) * fix: `string-number` improved (#119) * fix: `log` did not work (#120) * fix: Allow `(append ls)` (#120) * fix: Backtrace get longer with every error on an Interpreter object (#122) 2017-07-21 v0.6.8 * new: js-new can take JS constructor function (#97) * fix: `(eval 123)` raises error (#83) * fix: "XML Parsing Error" on Firefox (fix #88) * fix: error on i.html (#93) * fix: (Node.js) `biwas` freeze with `#(1 2)` (#21) * fix: (Node.js) `(read)` may conflict with `display` (#84) * fix: (Node.js) `load` and `js-load` find source file from the current directory (#89) * fix: (Node.js) file-exists?, delete-file, get-environment-variable did not work 2016-12-25 v0.6.7 * new: list-sort, vector-sort, vector-sort! now can take a comparator proc (#77, #78) * new: case-lambda (#81) * new: <script type="text/biwascheme"> also interpreted as Scheme program (#82) * fix: surpress deprecation warning for util.print on Node.js * fix: `BiwaScheme.define_scmfunc` was broken (#76) * fix: fixed error on `load` on Firefox (#79) * fix: element-toggle-class-name!, etc. shows deprecation warning unintentionally (#80) 2016-10-06 v0.6.6 * new: string->number supports complex numbers (#72) * fix: fixed number predicates (eg. (complex? 1) now returns #t) (#70) * fix: fixed "BiwaScheme.Port.current_error.puts is not a function" (#75) * fix: error on defining a value based on itself (#74) ; eg. (define a 1) (define a (+ a 1)) 2016-09-15 v0.6.5 * new: complex numbers arithmetics (#69) * new: `readline` is supported on Node (#23) 2016-05-31 v0.6.4 * new: R7RS promise (delay, force, delay-force, etc.) * change: - Add BiwaScheme.VERSION (BiwaScheme.Version is still available but deprecated) - `wait-for` returns event object instead of `#<undef>` 2015-12-25 v0.6.3 * new: - macro `..` (expands to `js-invocation`) * change: - added `element-write-attribute!`, `element-add-class-name!`, `element-remove-class-name!`, `element-toggle-class-name!` and deprecated these without `!` - added `list->js-array`, `js-array->list`, `js-obj->alist`, `alist->js-obj` and deprecated `list-to-js-array`, etc. * Add reference http://www.biwascheme.org/doc/reference.html * Some bug fixes 2014-02-16 v0.6.2 * change: - upgraded from jQuery 1.6.2 to 1.7.1 - switched inspected strings to be double-quoted instead of single-quoted - define-record-type was defining mutator with wrong name like 'set-book-name!', but fixed to define 'book-name-set!' - scoped assertion helpers to BiwaScheme (assert_string, etc) * new: - added stack traces to exceptions (GH #9) - Support hex character literals (eg. #\x41 => #\A) (GH #17) - $ and getelem functions can now take 1 or 2 arguments like in jQuery (second optional argument is the scope to search for the selector in) - functions and syntaxes: o element-has-class-name?, element-add-class-name (fixed), element-remove-class-name, element-toggle-class-name element-select o receive o remove-handler! (also, add-handler! now returns a reference to the handler function so that it can be passed to remove-handler!) o bitwise-* o regexp-replace-all o vector-push! (= Array#push in JS) - Node: o js-load o BiwaScheme.run_file o underscore.js is available at BiwaScheme._, underscore.string at BiwaScheme._.str o srfi-98 get-environment-variable(s) * some bug fixes 2011-12-01 v0.6.1 * fix: bin/biwas works on Node 0.6.x * change: do not raise error when null or undefined is returned from libfunc * new: - R6RS Enumerations - mutable hashtables - new functions - format (srfi-28) - write-char, with-output-to-port, call-with-string-output-port * new on Node: - One line program on command-line $ biwas -e "(print 'hello)" - REPL $ biwas # (no arguments) - file-exists?, delete-file, command-line, exit (R6RS standard library chapter 9 and 10) 2011-11-22 v0.6.0 * change: migrated from prototype.js to jQuery and underscore.js * change: argument for $ is passed to jQuery's $. old: ($ "foo") new: ($ "#foo") * new functions: list-copy console-log, console-debug, console-info, console-warn, console-error inc!, dec! dotimes js-function? * new demos: demo/raphaeljs/ demo/chat_with_socketio_and_node/ 2011-08-07 v0.5.7 * new: install via npm ($ npm install biwascheme) it means you can do require('biwascheme') on Node * improve: added tuplespace/README * fix: element-write-attribute did not work 2011-07-07 v0.5.6 * new: Node.js support! (try 'node bin/biwas a.scm') 2011-06-30 v0.5.5.2 * new: list-sort/comp * fix: functions with multiple body exprs did not work 2010-12-25 v0.5.5.1 * new: R6RS Records * bug fixes 2010-08-27 v0.5.4.2 * fix: (let-values) * fix: (acos) * new: (gensym) returns random symbol * new: (string->number) parses flonum * new: BiwaScheme.GitCommit note: now sed is needed to compile biwascheme.js