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.

Reply via email to