comparing lispyscript to sibilant

186 views
Skip to the first unread message

ben

unread,
9 Oct 2012, 13:04:3409/10/2012
to lispy...@googlegroups.com
hi
I find it interesting to compare lispy to sibilant, althout the
differences are very superficial:

- sibilant is more a transpiler, closer to the coffeescript concept
-> the output of sibilant is more readable and predictable

- lispyscript integration of pure javascript objects adds a special
syntax element that can't be found in other lisps.
-> imho that feature makes lispyscript nicer looking

- sibilants main implementation is the bootstraped sibilant version,
lispyscript sticks to javascript.
-> both has its pros and cons i guess ...

would you mind comment on that maybe give some furter insights on your
design decicisions on lispyscript?

Santosh Rajan

unread,
10 Oct 2012, 00:09:4010/10/2012
to lispy...@googlegroups.com
LispyScript is not a dialect of Lisp. LispyScript is an abstraction of JavaScript. It is "Lispy" in the sense that it borrows the tree structure and use of parenthesis from Lisp.

All JavaScript data structures and functions are first class citizens of LispyScript. So all of JavaScript, and all its Libraries are available within LispyScript.

LispyScript has only one data structure of its own. That is itself! ie. LispyScript is Homoiconic. And it is homoiconic to the extreme, because there is no way to explicitly differentiate code and data in LispyScript. (In Lisp you have the "quote syntax" to explicitly differentiate code and data).

In LispyScript we differentiate code and data by context. There are special expressions in LispyScript that treat code as data. One example is the "macro" expression. (I have yet to document the others, all of them used in recursive macros. You can see them in action in the macro source for the moment).

The objective of LispyScript is "Simplicity", by abstracting away complexity, and yet remain powerful.

LispyScript has a very small core (about 400 lines of JavaScript) and the rest of LispyScript is in LispyScript itself. Also the core seems to be working very well, so I dont see any advantage in rewriting it in LispyScript. 

I hope this has answered your question for the moment. I realize that I need to explain more about all this, which I hope to do in future blog posts.


--
You received this message because you are subscribed to the Google Groups "lispyscript" group.
To post to this group, send an email to lispy...@googlegroups.com.
To unsubscribe from this group, send email to lispyscript...@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.





--
Santosh Rajan
@About.Me


Reply all
Reply to author
Forward
0 new messages