I also think having expresso in clojurescript would be a cool think and I am willing to make a port after the gsoc period. Do you know any good js or clojurescript (matrix) mathematical library which clojurescript expresso could use ?
(loud thinking) maybe clojurescript would also benefit of having a version of core.matrix On Fri, Aug 30, 2013 at 3:55 PM, David Nolen <[email protected]> wrote: > While the runtime optimizations are cool, I think ClojureScript could > benefit from just having compile time optimized expressions. Mostly thinking > about the applicability for certain interactive applications and games. > > > On Fri, Aug 30, 2013 at 3:45 AM, Maik Schünemann <[email protected]> > wrote: >> >> Hi David, >> The core of expresso wouldn't be much work to port to clojurescript. >> The rule based translator is built on top of core.logic, so porting >> that should be straightforward. >> Also the manipulation routines are very much purely algorithmic so >> should work without much trouble in clojurescript. >> >> There are two things which need to be resolved, though: >> 1.) what execution engine: expresso is very close to core.matrix and >> uses its functions to execute the expressions and it's function names >> and semantics for the encoded expressions. >> 2.) compiling optimized expressions to functions at runtime: >> In clojure I managed to compile optimized expressions to optimized >> code at runtime through a code-emitting protocol and a call to eval to >> create the function. Without eval in clojurescript this couldn't be >> done easily. With compile-time constant expressions this could be made >> to work with a macro. At runtime there would still be the normal >> evaluate function which however traverses the whole expression tree. >> >> So if anyone knows a good execution engine for expresso in >> clojurescript or has thoughts about the compiling issue please post! >> >> I think it would be a good showcase for clojurescript to bring >> symbolic manipulation cababilities including solving equations etc to >> the browser. >> >> On Thu, Aug 29, 2013 at 10:19 PM, David Nolen <[email protected]> >> wrote: >> > Very cool stuff :) How much work would it take for this to work with >> > ClojureScript? >> > >> > David >> > >> > >> > On Mon, Aug 26, 2013 at 4:47 AM, Maik Schünemann >> > <[email protected]> >> > wrote: >> >> >> >> Hi, >> >> I released a first version of my gsoc project expresso [1]. >> >> This is an important Milestone in my gsoc project. >> >> What is there: >> >> an expressive and powerful rule based translator, on top of which many >> >> transformations can be based. >> >> functions to simplify (currently without ratio test), differentiate, >> >> rearrange, solve expressions. >> >> functions to optimize an expression (includes >> >> common-sub-expression-elimination, constant-folding, replacement >> >> with special operators, matrix-chain-optimization, ...) >> >> >> >> The solver can solve multiple simultaneous equations. >> >> currently it solves equations, which are polynomials up to degree 2, in >> >> which the number of occurrences of the unknown >> >> can be reduced to one by simplifying the expression or which consists >> >> of >> >> factors in above form. variables as parameters >> >> are supported everywhere. >> >> >> >> The last weeks of gsoc I will be making the above transformations more >> >> stable, eliminate as many bugs as I can find >> >> (feel free to report some you notice), and extending the range of >> >> expressions which can be transformed by these transformations, >> >> as well as thoroughly documenting the work that has been done. >> >> See the github repository and README.md for details [1] >> >> >> >> [1] https://github.com/clojure-numerics/expresso >> >> >> >> -- >> >> -- >> >> You received this message because you are subscribed to the Google >> >> Groups "Clojure" group. >> >> To post to this group, send email to [email protected] >> >> Note that posts from new members are moderated - please be patient with >> >> your first post. >> >> To unsubscribe from this group, send email to >> >> [email protected] >> >> 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 [email protected]. >> >> For more options, visit https://groups.google.com/groups/opt_out. >> > >> > >> > -- >> > -- >> > You received this message because you are subscribed to the Google >> > Groups "Clojure" group. >> > To post to this group, send email to [email protected] >> > Note that posts from new members are moderated - please be patient with >> > your >> > first post. >> > To unsubscribe from this group, send email to >> > [email protected] >> > 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 [email protected]. >> > For more options, visit https://groups.google.com/groups/opt_out. >> >> -- >> -- >> You received this message because you are subscribed to the Google >> Groups "Clojure" group. >> To post to this group, send email to [email protected] >> Note that posts from new members are moderated - please be patient with >> your first post. >> To unsubscribe from this group, send email to >> [email protected] >> 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 [email protected]. >> For more options, visit https://groups.google.com/groups/opt_out. > > > -- > -- > You received this message because you are subscribed to the Google > Groups "Clojure" group. > To post to this group, send email to [email protected] > Note that posts from new members are moderated - please be patient with your > first post. > To unsubscribe from this group, send email to > [email protected] > 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 [email protected]. > For more options, visit https://groups.google.com/groups/opt_out. -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to [email protected] Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to [email protected] 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 [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
