On Sep 5, 9:22 pm, Nils Bruin <nbr...@sfu.ca> wrote:
> couldn't convince the C compiler that two mpz_t's were really of the
> same type)

mpz_t's are not designed to be copied around.

> WARNING: ecl is written to provide only one instance of its workspace.
> So whatever code is run will have to play nice with other components.
> In particular, it is not possible to have two maxima instances running
> in the same processes. I don't know how much global state maxima
> relies on. Probably by carefully encoding symbols, this problem can be
> minimized.

ECL can run several threads, each one with an isolated stack, etc,
etc. The problem is that Maxima kepps 90% of variables as global
variables. Hence, to start a clean thread one has to identify them and
create thread-local bindings for them. It can probably be done
programatically -- inspecting the nature of symbols -- but this will
add another layer of complexity to your application which yo do not
want. At least not until things are more polished.

In any case, great work! This will be probably the most sophisticated
use of ECL as an embedded program, once it is finished!
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to