Nonsense Parser Microframework

    @acransac/biwascheme

    0.7.0-101 • Public • Published

    BiwaScheme

    This is a fork. All credits go to the original author Yutaka Hara and the maintainers. Copyright (c) Yutaka Hara

    See the license file in the repository or distributed with the npm package

    biwascheme logo

    BiwaScheme is a Scheme interpreter written in JavaScript.

    Works with web browsers (including mobile devices) and Node.js.

    This fork aims to adapt the upstream BiwaScheme for Node.js to web workers and Node's worker threads. Also, the system APIs (sockets, filesystem, imports...) are neutralized, expecting Scheme programs running in threads to be closed systems.

    Demos

    see http://www.biwascheme.org/

    Download

    (Or you can just copy the file from ./release.)

    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"></script>
    <script type="text/biwascheme">
    (display "hello, world!")
    </script>
    
    </body>
    </html>

    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.js:

      var BiwaScheme = require("biwascheme"); BiwaScheme.run("(+ 1 2)"); // or BiwaScheme.run_file("a.scm");

    3. $ node a.js

    Conformance

    BiwaScheme implements most of the features of R7RS small, including first-class continuation and tail call optimization.

    Major lacking features are:

    • syntax-rules
    • Exceptions
    • Library system

    There are two limitations that arise from JavaScript. These will not be fixed (it's technically possible to fix but will be very inefficient).

    • Strings are immutable
    • Integers are not distinguished from float

    Building biwascheme.js

    See doc/dev/build.md

    Links

    License

    MIT-LICENSE

    BiwaScheme logo by @jcubic: Creative Commons Attribution 3.0

    Acknowledgements

    Contact

    https://github.com/biwascheme/biwascheme

    Yutaka HARA (yhara) yutaka.hara.gmail.com http://twitter.com/yhara_en

    Install

    npm i @acransac/biwascheme

    DownloadsWeekly Downloads

    2

    Version

    0.7.0-101

    License

    MIT

    Unpacked Size

    283 kB

    Total Files

    6

    Last publish

    Collaborators

    • acransac