How has this progressed. Really interested in using Phoenix/Elixir, Datomic and Om together.
On Friday, September 18, 2015 at 2:06:04 AM UTC+10, Fergal Byrne wrote: > > Hi Juan/Frank, > > Elixir has taken the key features of Clojure (especially macros, > protocols) and used them to build a wonderful language on the BEAM. I'd > take a look at Elixir if I were you - it's just too much for too little to > try shoehorning Clojure notions into a BEAM-hosted system. > > That being said, Francesco, CEO of Erlang Solutions was here in Dublin > last week, and after our chats he'll hopefully soon be in touch with people > at Cognitect about interfacing between Erlang/Elixir and Clojure/Datomic. I > see a big opportunity for a ClojureScript/Om front end, a > Phoenix/Elixir/Erlang server, and a Datomic persistence layer. > > Regards, > > Fergal > > > > -- > > Fergal Byrne, Brenter IT > > Author, Real Machine Intelligence with Clortex and NuPIC > https://leanpub.com/realsmartmachines > > Speaking on Clortex and HTM/CLA at euroClojure Krakow, June 2014: > http://euroclojure.com/2014/ > and at LambdaJam Chicago, July 2014: http://www.lambdajam.com > > http://inbits.com - Better Living through Thoughtful Technology > http://ie.linkedin.com/in/fergbyrne/ - https://github.com/fergalbyrne > > e:fergalb...@gmail.com <javascript:> t:+353 83 4214179 > Join the quest for Machine Intelligence at http://numenta.org > Formerly of Adnet edi...@adnet.ie <javascript:> http://www.adnet.ie > > > On Wed, Sep 16, 2015 at 3:34 PM, juan.facorro <juan.f...@gmail.com > <javascript:>> wrote: > >> Hi Frank, >> >> I'm wondering why no one ever posted a question/comment/reponse to this >> thread. Personally I think Clojure is a great language and the Erlang VM is >> a feat of engineering. I would love to think what other think about this >> thoughts and about the possibility of having Clojure on the Erlang VM in >> general. >> >> There are some language features that don't quite map from Clojure to >> Erlang though, which are a challenge to implement. For example it is my >> understanding that all of Clojure abstractions rely either on Java >> interfaces (on the JVM) or on protocols (ClojureScript). So I guess a good >> implementation for the protocol mechanism would be needed for Clojure's >> implementation on the Erlang VM. >> >> In my head this means: >> >> 1. Values would need to have a type tag, in order to be able to >> figure out if they do or do not implement a certain protocol. >> 2. A possible implementation would be a tuple whose first element is >> an atom which represents the type (i.e. {type_whatever, ...}) >> 3. All functions that support this scheme and also the ones that >> participate in the protocol mechanism need to "wrap/unwrap" values for >> "type checking". >> 4. Previous points make interop with Erlang more complicated, since >> Erlang code would need to account for this wrapping & unwrapping. >> Although >> there could be a macro that figures some of these things automatically, >> but >> it would still not be a seamless Erlang/Clojure interop. >> >> There is also the matter of *namespaces* and *vars*, Clojure's bread and >> butter :P. >> >> In ClojureScript *namespaces* are not a thing you can manipulate [1] >> (you can't use **ns** for example), which could be a possible workaround >> to avoid maintaining runtime information about namespaces. >> >> *Vars* on the other hand are not reified in ClojureScript [2] (they map >> to regular JavaScript variables). Vars either have a *root value*, are >> *unbound >> *or (when they are dynamic) might have a *thread bound value*. The first >> two are global state related to a var while the last one is local to each >> process (when talking about the Erlang VM). There are ways of implementing >> this in the Erlang VM, just to name one (which is probably not be the best >> one) using an ETS for global vars state and the process dictionary for the >> processes bindings (maybe implementing something analogous to Clojure's >> frames approach). >> >> Anyways... >> >> These are just a couple of challenges in a possible implementation on the >> Erlang VM, which I think are key. >> >> Cheers! >> >> [1] At least not the last time I checked, although ClojureScript is on >> its way to being self-hosted so, who knows? >> [2] The *var* special symbol provides compile time information though in >> ClojureScript. >> >> On Friday, July 13, 2012 at 2:15:18 PM UTC-3, FrankS wrote: >>> >>> Just became aware of this effort: "http://erlangonxen.org/" >>> >>> which shows off some impressive properties: >>> >>> * Startup time of a new instance is 100ms >>> * Instances are provisioned after the request arrival - all requests get >>> handled >>> * No instances are running waiting for requests - the cloud footprint is >>> zero >>> * the size of infrastructure is proportional to the maximum load - 8 >>> servers may be enough >>> * … >>> >>> All that begs the Q: would Clojure on an Elang-VM be feasible and make >>> sense? >>> >>> -FrankS. >>> >>> >>> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to clo...@googlegroups.com >> <javascript:> >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> clojure+u...@googlegroups.com <javascript:> >> For more options, visit this group at >> http://groups.google.com/group/clojure?hl=en >> --- >> You received this message because you are subscribed to the Google Groups >> "Clojure" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to clojure+u...@googlegroups.com <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.