Hi. Can everyone add these ideas to that wiki page? So there should be global assumptions, local assumptions, etc., with links to the relevant branches, and explanations of the idea, the pros, the cons, etc. I think it will be a lot easier to just read through the wiki page whenever we make a decision, rather than trying to read through this and other discussions.
On May 1, 2011, at 10:36 AM, Ondrej Certik wrote: > 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?) If I remember correctly, it would be easier to implement in C, because there you have pointers. Also, you wouldn't need a hack in Python 3, because there you have nonlocal (or is this something else completely?) See also issue 1884. Also, would the idea from comment 3 of that issue (wrapping something around a mutable object) work to make it less hackish? Aaron Meurer > > 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"). > > Ondřej -- 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.
