MetaJS: logos-oriented Lisp compiled to Javascript

54 views
Skip to first unread message

Dmytro Dogadailo

unread,
Aug 29, 2013, 4:30:50 PM8/29/13
to lisp-in-summer-pro...@lispnyc.org
Hi all,

please take a look at new Lisp dialect I made to have better programming environment for NodeJS platform.

MetaJS is yet another attempt to create better programming language for modern world. More about MetaJS background, why it was chosen Lisp-syntax and why it's compiled to Javascript, you can find on www.coect.net/metajs/

Project Coect aims to replace outdated Email and XMPP with modern universal communication protocol. MetaJS for Coect plays the same role as like as Emacs Lisp for Emacs.


Regards,
Dmytro.

Dmytro Dogadailo

unread,
Sep 5, 2013, 7:41:10 AM9/5/13
to lisp-in-summer-pro...@lispnyc.org
Now you can try MetaJS without leaving your browser at http://metajs.coect.ne

Look at the examples, try to change them a bit and see translated javascript code on the right of each example.

Inaimathi

unread,
Sep 7, 2013, 10:29:40 PM9/7/13
to lisp-in-summer-pro...@lispnyc.org
Your link's broken, but the page I think you mean is up and running here.

The argument guessing is an interesting feature. Is that only present for function calls, or does it apply in other contexts? For instance, in the project I'm writing now, I had a bunch of places where I'd have to write things like

    (let ((card (make-instance 'card :belongs-to (id player) :x x :y y :z z :rot rot)))
       ;; do stuff with card
    )

The solution I settled on was defining a macro so that I could instead write things like

    (let ((card (make-instance 'card :belongs-to (id player))))
        (set-props card x y z rot)
        ;; do stuff with card
    )

but it seems that a language that could guess the appropriate parameters in that situation would save some work.

Dmytro Dogadailo

unread,
Sep 8, 2013, 7:56:33 AM9/8/13
to lisp-in-summer-pro...@lispnyc.org


On Sunday, September 8, 2013 5:29:40 AM UTC+3, Inaimathi wrote:
Your link's broken, but the page I think you mean is up and running here.

Thanks, the correct link is  http://metajs.coect.net/#magic 


The argument guessing is an interesting feature. Is that only present for function calls, or does it apply in other contexts?

At the moment MetaJS resolves only missed function arguments, however it's not a problem for you situation. You can solve it with standard Lisp's macros without involving MetaJS magic. For example, please look at MetaJS exports* macro that I suppose do exactly what you want:


The same can done in Clojure's binding forms with  :keys directive.

Thanks for your feedback,
Dmytro.
Reply all
Reply to author
Forward
0 new messages