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 -~----------~----~----~----~------~----~------~--~---