Yeah. I'll submit them right now. I'll keep editing later. I'm submitting my proposal to PSF and NumFOCUS only as it is related to SymPy only.
Sudhanshu Mishra On Thu, Mar 26, 2015 at 4:23 AM, Aaron Meurer <asmeu...@gmail.com> wrote: > Don't forget to submit your proposal in Melange. I don't see it there yet. > > Aaron Meurer > > On Wed, Mar 25, 2015 at 1:28 PM, Sudhanshu Mishra <mrsu...@gmail.com> > wrote: > > Thanks for pointing these out. I'm a bit slow here because of exams. > > > > > >> > >> You should also mention my approach from > >> https://github.com/sympy/sympy/pull/7925 to make the new assumptions > >> read the old assumptions (add handlers). Also, technically, > >> > >> > https://github.com/sympy/sympy/pull/2508/files#diff-e0f95401c86d07d90903363122990de0R227 > >> is a way of doing this as well. I'm undecided on which of these > >> (including adding to global assumptions) is the best. If you have a > >> preference, you should argue in the application why you think it's the > >> best one. > > > > > > Seems like a good plan. I've to say that, I also like this( > > https://github.com/sympy/sympy/pull/7926 > > ) > > approach. > > But it has a blocking issue of weakref issue in the cache. > > I'm adding my views on these in my proposal. > > > >> In the execution > >> section, can you give your impression of how > >> long/hard each item would be (or maybe the timeline is the appropriate > >> place to do this). > > > > > > I though of discussing this with you before writing it. Anyway, I'll > write > > it according to me. We can always alter it later. > > > >> What is the difference between "Making API of old assumptions call new > >> assumptions internally. The target would be to achieve minimum ripple > >> effect throughout the codebase as the changes are made." and "Once the > >> new assumption is ready to handle things, start modifying the codebase > >> so that expr.is_* syntax calls the new assumptions."? > > > > > > As I've been maintaining two copies of my proposal, this one got > duplicated > > while syncing. Sorry about that. I'll remove one of them. > > > >> Regarding the last bullet point, what exactly would the find and replace > >> be? > > > > > > Replacing the use of old assumptions with the new one. > > > > > > Sudhanshu Mishra > > > > On Tue, Mar 24, 2015 at 9:43 PM, Aaron Meurer <asmeu...@gmail.com> > wrote: > >> > >> You should also mention my approach from > >> https://github.com/sympy/sympy/pull/7925 to make the new assumptions > >> read the old assumptions (add handlers). Also, technically, > >> > >> > https://github.com/sympy/sympy/pull/2508/files#diff-e0f95401c86d07d90903363122990de0R227 > >> is a way of doing this as well. I'm undecided on which of these > >> (including adding to global assumptions) is the best. If you have a > >> preference, you should argue in the application why you think it's the > >> best one. > >> > >> In the execution section, can you give your impression of how > >> long/hard each item would be (or maybe the timeline is the appropriate > >> place to do this). > >> > >> What is the difference between "Making API of old assumptions call new > >> assumptions internally. The target would be to achieve minimum ripple > >> effect throughout the codebase as the changes are made." and "Once the > >> new assumption is ready to handle things, start modifying the codebase > >> so that expr.is_* syntax calls the new assumptions."? > >> > >> Regarding the last bullet point, what exactly would the find and replace > >> be? > >> > >> Aaron Meurer > >> > >> > >> On Mon, Mar 23, 2015 at 7:52 PM, Sudhanshu Mishra <mrsu...@gmail.com> > >> wrote: > >> > I've updated the wiki. (Still far from complete) > >> > > >> > Please provide feedback on the matter so far. > >> > > >> > Places to look at: > >> > > >> > * The Project > >> > * Execution > >> > > >> > > >> > Sudhanshu Mishra > >> > > >> > On Sun, Mar 22, 2015 at 3:10 PM, Joachim Durchholz <j...@durchholz.org> > >> > wrote: > >> >> > >> >> Am 22.03.2015 um 01:04 schrieb Aaron Meurer: > >> >>> > >> >>> On Sat, Mar 21, 2015 at 2:57 PM, Joachim Durchholz < > j...@durchholz.org> > >> >>> wrote: > >> >>>> > >> >>>> Am 21.03.2015 um 19:54 schrieb Aaron Meurer: > >> >>>>>> > >> >>>>>> > >> >>>>>> I do not think the new assumptions should call the old > assumptions. > >> >>>>>> The > >> >>>>>> new > >> >>>>>> assumptions work by manipulating data structures, not by > executing > >> >>>>>> code. > >> >>>>> > >> >>>>> > >> >>>>> They do execute code. See sympy.assumptions.handlers. > >> >>>> > >> >>>> > >> >>>> > >> >>>> Oh. I've been thinking that that was part of the old assumptions > >> >>>> system. > >> >>>> But what data is the SAT solver working with, then? > >> >>> > >> >>> > >> >>> Currently, the known_facts > >> >>> > >> >>> > >> >>> ( > https://github.com/sympy/sympy/blob/5507c86e70f816f95f87b868615502a44cac5853/sympy/assumptions/ask.py#L329-L377 > ). > >> >>> In my branch, everything in that file. The known_facts are what I > >> >>> like to call the "free" facts, in that they can be written down > >> >>> completely free of the expression they apply to. For instance, > >> >>> Implies(Q.positive, Q.real). Facts that depend on the kind of > >> >>> expression they apply to (like, if all terms in an Add are positive, > >> >>> then the whole expression is positive), aren't expressible > >> >>> symbolically in the current new assumptions (but they are in 2508). > >> >> > >> >> > >> >> Oh, I see. > >> >> > >> >> I'd want go full length towards making all rules into data > structures, > >> >> no > >> >> code execution at all (except for generic code to apply rules, > >> >> obviously). > >> >> I can't even give a hard reason for that, except that I know from > >> >> experience that data is far easier to analyze and do something new > and > >> >> initially unexpected than code where this is essentially impossible. > >> >> Also, > >> >> all solvers that I know work that way. > >> >> > >> >> I don't know whether that would be a wise approach for SymPy, or the > >> >> right > >> >> thing to do right now. > >> >> I'm slightly worried that we might want to go full length to > data-based > >> >> solving after we get the SAT solver, and then have *three* solvers to > >> >> deal > >> >> with (because the old assumptions system won't die that quickly), so > I > >> >> still > >> >> see a small advantage to going that direction right now. > >> >> Downside of "right now" would be "who's going to do it" and "that's > >> >> going > >> >> to be even more work"... so I don't know enough to have a real > position > >> >> about what's the best way forward. > >> >> > >> >> -- > >> >> You received this message because you are subscribed to the Google > >> >> Groups > >> >> "sympy" group. > >> >> To unsubscribe from this group and stop receiving emails from it, > send > >> >> an > >> >> email to sympy+unsubscr...@googlegroups.com. > >> >> To post to this group, send email to sympy@googlegroups.com. > >> >> Visit this group at http://groups.google.com/group/sympy. > >> >> To view this discussion on the web visit > >> >> > >> >> > https://groups.google.com/d/msgid/sympy/550E8E1E.3060701%40durchholz.org. > >> >> > >> >> For more options, visit https://groups.google.com/d/optout. > >> > > >> > > >> > -- > >> > You received this message because you are subscribed to the Google > >> > Groups > >> > "sympy" group. > >> > To unsubscribe from this group and stop receiving emails from it, send > >> > an > >> > email to sympy+unsubscr...@googlegroups.com. > >> > To post to this group, send email to sympy@googlegroups.com. > >> > Visit this group at http://groups.google.com/group/sympy. > >> > To view this discussion on the web visit > >> > > >> > > https://groups.google.com/d/msgid/sympy/CAFW_KCS-B%3D2_bs%2BKJakG3fBucmPVB%2BsFfyYffF8G-RfWvndy%2Bg%40mail.gmail.com > . > >> > > >> > For more options, visit https://groups.google.com/d/optout. > >> > >> -- > >> You received this message because you are subscribed to the Google > Groups > >> "sympy" group. > >> To unsubscribe from this group and stop receiving emails from it, send > an > >> email to sympy+unsubscr...@googlegroups.com. > >> To post to this group, send email to sympy@googlegroups.com. > >> Visit this group at http://groups.google.com/group/sympy. > >> To view this discussion on the web visit > >> > https://groups.google.com/d/msgid/sympy/CAKgW%3D6LRH3j2ofpbg_PvH0Qf0qoRKJdebk2mL0%2BXEjj5x5vMfg%40mail.gmail.com > . > >> For more options, visit https://groups.google.com/d/optout. > > > > > > -- > > You received this message because you are subscribed to the Google Groups > > "sympy" group. > > To unsubscribe from this group and stop receiving emails from it, send an > > email to sympy+unsubscr...@googlegroups.com. > > To post to this group, send email to sympy@googlegroups.com. > > Visit this group at http://groups.google.com/group/sympy. > > To view this discussion on the web visit > > > https://groups.google.com/d/msgid/sympy/CAFW_KCRYCx379a3YW82QyJF8gEMnKgfABSVEuiGi3izj%3Dx9ELQ%40mail.gmail.com > . > > > > For more options, visit https://groups.google.com/d/optout. > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to sympy+unsubscr...@googlegroups.com. > To post to this group, send email to sympy@googlegroups.com. > Visit this group at http://groups.google.com/group/sympy. > To view this discussion on the web visit > https://groups.google.com/d/msgid/sympy/CAKgW%3D6%2Br6CtjEQ7j59%3D5d_TiaQ7Q_%2BOn%3DwFpGX6WE4SSg8AdaQ%40mail.gmail.com > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "sympy" group. To unsubscribe from this group and stop receiving emails from it, send an email to sympy+unsubscr...@googlegroups.com. To post to this group, send email to sympy@googlegroups.com. Visit this group at http://groups.google.com/group/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/CAFW_KCRNcbFb11P9bb18PT7kmNH2md8RVevzo1b5YJDKksiQYw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.