On Sun, May 1, 2011 at 8:18 AM, Vinzent Steinberg
<vinzent.steinb...@googlemail.com> wrote:
> On May 1, 8:47 am, Ondrej Certik <ond...@certik.cz> 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 sympy@googlegroups.com.
To unsubscribe from this group, send email to 
sympy+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy?hl=en.

Reply via email to