[parenscript-devel] Project announcement: cl-spidermonkey

Daniel Gackle danielgackle at gmail.com
Sat Jul 3 23:36:24 UTC 2010


Red,

It sounds awesome. I've often wondered how hard it would be to get a PS
REPL running inside Emacs.

Would this project be relevant to the effort? Or is it supplanted by
your stuff?

  http://js-comint-el.sourceforge.net/

Daniel


On Thu, Jul 1, 2010 at 11:58 AM, Red Daly <reddaly at gmail.com> wrote:

> Dearest Meta Javascripters,
>
> I have written a library for interfacing Common Lisp with the
> Spidermonkey Javascript engine.  You may find some use in this for
> testing Parenscript code, or ever running Parenscript code to do some
> important, lisp-end task.  In any case, what follows is excerpted from
> the README.  The home page for the project is
> http://github.com/gonzojive/cl-spidermonkey  .  Contributes are of
> course welcome.
>
> All the very best,
> Red
>
> # CL-SpiderMonkey: Common Lisp interface to Javascript
>
> ### A Common Lisp library for interacting with Javascript through the
> SpiderMonkey library
>
> ## Introduction
>
> cl-spidermonkey provides a Javascript runtime environment inside of
> Common Lisp by embedding a widely-used and tested Javascript engine:
> Mozilla's SpiderMonkey.
>
> With full access to Javascript from Common Lisp, it becomes easier to
> test Javascript libraries in the same breath as normal testing.  It
> also allows a Lisp REPL to be used as a Javascript REPL, and for many
> other combinations of lisp and JS.
>
> ## Installation
>
> Before you do anything you need the git repostiory.
>
>    git clone git://github.com/gonzojive/cl-spidermonkey.git
>
> First you need to compile Spidermonkey.  It's not that bad!  Just cd
> into the vendor directory and then run the install script:
>
>    cd vendor
>    sh install-spidermonkey.sh
>
> That will download and install SpiderMonkey, and set up all the paths
> properly.
>
> Now you should be able to load the library in lisp:
>
>    REPL> (asdf:operate 'asdf:load-op :cl-spidermonkey)
>
>
> ## Usage
>
> Right now there are only two exported symbols, so things are pretty
> easy:
>
>    REPL> (sm::with-js-context (context)
>           (sm:evaluate-js "10 * 24;"))
>    240
>
> Note that you can only get doubles, ints, strings, voids (undefined),
> nulls, and boolean values back from EVALUATE-JS.  Any other object
> will come back as a pointer to a JS_Object whichs needs further
> attention from the bindings.  If you are so inclined, lookat the
> src/spidermonkey-bindings.lisp file for more info on how to deal with
> native Spidermonkey objects.
>
> _______________________________________________
> parenscript-devel mailing list
> parenscript-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/parenscript-devel/attachments/20100703/30c58934/attachment.html>


More information about the parenscript-devel mailing list