Alright, that does it. Mr or Ms. 3b, come forth and show yourself!<div><br></div><div>:)<br><br><div class="gmail_quote">On Mon, Jul 12, 2010 at 11:56 PM, Red Daly <span dir="ltr"><<a href="mailto:reddaly@gmail.com">reddaly@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;"><div class="im">On Sat, Jul 3, 2010 at 4:36 PM, Daniel Gackle <<a href="mailto:danielgackle@gmail.com">danielgackle@gmail.com</a>> wrote:<br>


> Red,<br>
> It sounds awesome. I've often wondered how hard it would be to get a PS<br>
> REPL running inside Emacs.<br>
> Would this project be relevant to the effort? Or is it supplanted by<br>
> your stuff?<br>
>   <a href="http://js-comint-el.sourceforge.net/" target="_blank">http://js-comint-el.sourceforge.net/</a><br>
> Daniel<br>
<br>
</div>It looks like 3b's slime-proxy project is the most relevant.<br>
js-comint-el seems better for a js runtime operating outside of a host<br>
lisp.<br>
<br>
I would love to see a Parenscript mode that interacts gracefully with SLIME.<br>
<br>
For me it would be ideal to have a SLIME-derived mode for editing<br>
.paren files, and a SLIME-derived Parenscript REPL that interacted<br>
with the host lisp.  The REPL may evaluate Parenscript forms in a<br>
CL-SPIDERMONKEY environment, or it may push compiled code into a web<br>
client via the WebSocket API[1] or some other means--it's really up<br>
the host lisp.<br>
<br>
I'm not particularly familiar with emacs lisp or SLIME, but I think<br>
extending SLIME would be the best means of enhancing Parenscript<br>
editing.  Slime Proxy seems like the perfect approach (<br>
<a href="http://github.com/3b/slime-proxy" target="_blank">http://github.com/3b/slime-proxy</a> )<br>
<br>
Red<br>
<br>
[1] <a href="http://dev.w3.org/html5/websockets/" target="_blank">http://dev.w3.org/html5/websockets/</a><br>
<div><div></div><div class="h5"><br>
><br>
> On Thu, Jul 1, 2010 at 11:58 AM, Red Daly <<a href="mailto:reddaly@gmail.com">reddaly@gmail.com</a>> wrote:<br>
>><br>
>> Dearest Meta Javascripters,<br>
>><br>
>> I have written a library for interfacing Common Lisp with the<br>
>> Spidermonkey Javascript engine.  You may find some use in this for<br>
>> testing Parenscript code, or ever running Parenscript code to do some<br>
>> important, lisp-end task.  In any case, what follows is excerpted from<br>
>> the README.  The home page for the project is<br>
>> <a href="http://github.com/gonzojive/cl-spidermonkey" target="_blank">http://github.com/gonzojive/cl-spidermonkey</a>  .  Contributes are of<br>
>> course welcome.<br>
>><br>
>> All the very best,<br>
>> Red<br>
>><br>
>> # CL-SpiderMonkey: Common Lisp interface to Javascript<br>
>><br>
>> ### A Common Lisp library for interacting with Javascript through the<br>
>> SpiderMonkey library<br>
>><br>
>> ## Introduction<br>
>><br>
>> cl-spidermonkey provides a Javascript runtime environment inside of<br>
>> Common Lisp by embedding a widely-used and tested Javascript engine:<br>
>> Mozilla's SpiderMonkey.<br>
>><br>
>> With full access to Javascript from Common Lisp, it becomes easier to<br>
>> test Javascript libraries in the same breath as normal testing.  It<br>
>> also allows a Lisp REPL to be used as a Javascript REPL, and for many<br>
>> other combinations of lisp and JS.<br>
>><br>
>> ## Installation<br>
>><br>
>> Before you do anything you need the git repostiory.<br>
>><br>
>>    git clone git://<a href="http://github.com/gonzojive/cl-spidermonkey.git" target="_blank">github.com/gonzojive/cl-spidermonkey.git</a><br>
>><br>
>> First you need to compile Spidermonkey.  It's not that bad!  Just cd<br>
>> into the vendor directory and then run the install script:<br>
>><br>
>>    cd vendor<br>
>>    sh install-spidermonkey.sh<br>
>><br>
>> That will download and install SpiderMonkey, and set up all the paths<br>
>> properly.<br>
>><br>
>> Now you should be able to load the library in lisp:<br>
>><br>
>>    REPL> (asdf:operate 'asdf:load-op :cl-spidermonkey)<br>
>><br>
>><br>
>> ## Usage<br>
>><br>
>> Right now there are only two exported symbols, so things are pretty<br>
>> easy:<br>
>><br>
>>    REPL> (sm::with-js-context (context)<br>
>>           (sm:evaluate-js "10 * 24;"))<br>
>>    240<br>
>><br>
>> Note that you can only get doubles, ints, strings, voids (undefined),<br>
>> nulls, and boolean values back from EVALUATE-JS.  Any other object<br>
>> will come back as a pointer to a JS_Object whichs needs further<br>
>> attention from the bindings.  If you are so inclined, lookat the<br>
>> src/spidermonkey-bindings.lisp file for more info on how to deal with<br>
>> native Spidermonkey objects.<br>
>><br>
>> _______________________________________________<br>
>> parenscript-devel mailing list<br>
>> <a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
>> <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
><br>
><br>
> _______________________________________________<br>
> parenscript-devel mailing list<br>
> <a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
> <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
><br>
><br>
<br>
_______________________________________________<br>
parenscript-devel mailing list<br>
<a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
<a href="http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
</div></div></blockquote></div><br></div>