Hello!
We really like joxa and found it's implementation very clean.
However we want to make to move from Erlang Core to Abstract Format.
We have Erlang to JavaScript compiler and its implemented as parser transform.
Have Joxa compiled to Erlang AST would lead us to free Joxa to JavaScript implementation.
We use Erlang to JavaScript compiler in our N2O Web Framework on WebSockets,
a Nitrogen optimized fork. Some companies use N2O in production.
We created binding for N2O in Joxa and ported our chat sample:
(ns lispchat (require erlang joxa-core n2o wf))
(defn+ body() [(n2o/panel {:id :history})
(n2o/textbox {:id :message})
(n2o/button {:id :send}
{:body "Chat"}
{:postback :chat}
{:source [:message]}) ])
(defn+ main() [(n2o/dtl {:app :n2o_sample}
{:file "index"}
{:bindings [{:title "Title"} {:body (body)}]})])
(defn+ speak(m) (wf/insert_bottom :history (n2o/span {:body m})))
(defn+ event(body)
(case body
(:init (speak ["Hello" (n2o/br)]))
(:chat (speak [(wf/q :message) (n2o/br)]))))
N2O bindings:
Sources available with our n2o_sample:
Everyone who like joxa would find this example useful which allows you
to write JavaSript aware WebSocket application with HTML DSL with REST and easy.
Second, thing I want to write is that we have plan to move Joxa compiler from
Erlang Core to Abstract Format, however for such a big thing we need to freedom,
maybe incompatible fork, or even another name. We can dedicate some time for it,
because we want to see not only Erlang to JavaScript compiler but also
Lisp to JavaScript on BEAM, in best tradition of Clojure to really free Applications
and spread them to client side. Please inform us if you are interested in it.
For now, have a nice hacking with Joxa! It is really best lisp on BEAM (Yet;).
Save Lisp for a great good :)
--
Maxim Sokhatsky
Synrc Research Center