On Sun, May 1, 2011 at 8:18 AM, Vinzent Steinberg <[email protected]> wrote: > On May 1, 8:47 am, Ondrej Certik <[email protected]> wrote: >> I am still very much convinced, that this disconnect-assumptions-2 is >> the simplest and easiest way to get rid of the old assumptions, so >> that we can start speeding up the core, and start using some other >> system for them. > > I'm not convinced, because it uses global assumptions, and I think > they are broken by design. Global assumptions basically let us do the > garbage collection manually, a regression compared to the old system.
There is some misunderstanding (possibly on my side): I thought that the branch has removed the assumptions completely, thus it uses no assumptions. Then the idea was to use *local* assumptions, by using the Assume class. Can you clarify what you mean by "global assumptions" in this branch? I am aware that the code in sympy/assumptions also (besides other things) allows to use global assumptions, and I stress that this is not the approach I am voting for ---- I am voting for using a local Assume (or AssumeContext) whatever you want to call it. > >> I would be interested in the community vote on this idea. I vote +1. I >> am aware that Ronan voted -1 last year. What do others think? > > I don't think that any branch is ready to be merged now, so maybe > let's rather discuss about the approach for future development. For Yes, I am voting for that approach in the branch. Of course it has to be rebased on top of the latest master (or redo from scratch, whatever is easier). > instance, what do you think about the local assumptions approach (see > the wiki page and issue 1884)? It's a hack, but I think it is much > better than using global assumptions. I looked at the code, most importantly here: https://github.com/vks/sympy/commit/bfc837b8859992c7ce43bd4967902bfcec756252 and even though the hack is simple, it is still a hack, so my gut feeling is telling me, that this will bite is quite substantially in the future. (E.g. if you want to rewrite the core in C/C++, will this design still work?) However, apart from this hack, your approach seems identical to what I have in mind --- except that I would pass the AssumptionContext (that you embed automatically in the local scope) around by hand explicitly ("explicit is better than implicit"). Ondrej -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sympy?hl=en.
