Le mardi 10 août 2010 à 14:07 -0400, Christian Muise a écrit :
>          I really don't think that static compilation to Python
>         code is a good idea. It prevents any extension to the system
>         and makes
>         it very hard to maintain. It would be much more useful to
>         compute
>         known_facts_dict at import time and to have the possibility to
>         recompute
>         it at runtime if facts are added to the knowledge base.
> 
> 
>   This is a good discussion point. The stronger the compilation, the
> harder it likely is going to be to computer (generally speaking). For
> example, the known_facts_dict is quite intensive (few seconds at least
> on a reasonable cpu...17 seconds on the netbook I'm currently using).
> The whole intuition of knowledge compilation is that you do it offline
> -- every time you import sympy for the first time seems to go against
> this.
> 
Hmm... I didn't know it was so slow. Intuitively, this feels wrong,
can't you make it faster? If not, then I agree that it shouldn't be done
at import time. 

> 
>   However, your point on modifying the assumptions is a good one --
> depending on the new facts that are added, things could be updated in
> a certain way. But (and this is a big but), it would only ever have a
> chance of working if new assumptions didn't add an inconsistency (you
> can't assume contradictory things). This may sound obvious, but quite
> often inconsistencies can be quite subtle.
> 
> 
>         Also, all the
>         known_facts_* clearly want to be refactored into a single
>         class.
> 
> 
>   Great idea. Should this be done prior to making it to trunk?

Not necessarily.
>  
>         > PS. All tests run clean, and it's been rebased onto the
>         trunk btw.
>         >
>         
>         Not quite, there are test failures on some commit, for
>         instance HEAD~2.
> 
> 
>   Hrmz. Never knew the entire history should run clean. I may need
> some help with the workflow for fixing a history of commits.

The rule isn't applied very consistently, but it simplifies review and
makes it easier to wade through old history or to do a git bisect. If
you need help with git, ask on IRC.
>  
>         You should tidy up your history with git rebase -i.
>         Also, you haven't properly rebased on master (the fact that
>         your master
>         differs from the "true" master certainly doesn't help): you
>         have weird
>         merges between different versions of the trunk at the root of
>         your
>         branch and a merge between 2 versions of the same branch in
>         'sat-solver'.
> 
> 
>   I had two prevailing trunks. Both were rebased on my origin's
> master, which at the time of posting was a mirror of the sympy trunk.
> One was then forked, and the other merged into it. I tried finding a
> proper git workflow online that captured what I wanted to do, but was
> largely unsuccessful.
> 
Rule zero is to never commit or merge while you're on master.

>   How should I approach fixing the history?

Here's what I would do, a priori:
* Backup all your branches ('git co -b master-old master', etc.): this
allows you to easily revert any operation that goes wrong
* Reset master to be the real one: git co master; git reset --hard
origin/master
* Rebase the linear branches on master (git rebase master atms; git
rebase master sat-solver)
* Rebase soc-final on the rebased branches while preserving merge
history: git rebase -p --onto atms atms-old soc-final; git rebase -p
--onto sat-solver sat-solver-old soc-final 

If you check each operation with gitk, you should avoid hairy problems.
> 
> 
>   Thanks for the feedback -- large git mergers is new to me, so lots
> of learning yet to be done this week ;).
> 
> 
>   Cheers,
>    Christian
> -- 
> You received this message because you are subscribed to the Google
> Groups "sympy-patches" group.
> To post to this group, send email to sympy-patc...@googlegroups.com.
> To unsubscribe from this group, send email to sympy-patches
> +unsubscr...@googlegroups.com.
> For more options, visit this group at
> http://groups.google.com/group/sympy-patches?hl=en.


-- 
You received this message because you are subscribed to the Google Groups 
"sympy-patches" group.
To post to this group, send email to sympy-patc...@googlegroups.com.
To unsubscribe from this group, send email to 
sympy-patches+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sympy-patches?hl=en.

Reply via email to