I think that both have their benefits. I like how Sebastian's model makes hints objects, which means that they can have docstrings and can be callable. I also like having the hint manager be and object, and the decorator idea.
Of Chris's stuff, I like some of the shortcuts he has implemented that reduce typing for more complex hints. Sebastian's writeup doesn't mention some of the key things, like the logic for what turns other hints on and off (I am assuming this would all go in the HintManager). So probably Sebastian's model will be more extendable. Remember that Chris's model was designed specifically with expand() in mind. I think we should take the best of both worlds. Aaron Meurer On May 4, 2010, at 5:44 AM, Sebastian wrote: > Thank's for pointing this out! Arron already mentioned it and I had a > look on it but I think it's maybe a bit too limited for general usage. > I wrote up my ideas of a hinting model in the branch "hints" on my > github repo: http://github.com/bastikr/sympy/tree/hints > You can pull it and build the documentation or just view it online > (without nice formatation) on: > http://github.com/bastikr/sympy/blob/hints/doc/src/modules/hinting.txt > > What do you think? Would this be an acceptable way to do it? > > Sebastian > > On May 4, 4:12 am, smichr <smi...@gmail.com> wrote: >> Sebastian wrote: >> >> (1) Implement a generic "Hint"s model which can be used to store >> values of different hints and also be used to find out interactively >> what hints are possible. (This is already done in the hints branch and >> might also be useful for other parts in sympy) >> >> I have a manage_hints routine in iterables.py in the 1766 commit at >> smichr's 1766 branch at github. I used that with expand. You might >> check it out and see if it could be used for your purposes. What I >> settled on was that any routine that had hints it wanted to manage >> would store those hints within itself. To see what the hints are, the >> expression "hints" is sent (and checked for before anything else) in >> the routine. e.g. to see the hint options for expand one would >> execute >> >> expand("hints") >> >> -- >> You received this message because you are subscribed to the Google Groups >> "sympy" group. >> To post to this group, send email to sy...@googlegroups.com. >> To unsubscribe from this group, send email to >> sympy+unsubscr...@googlegroups.com. >> For more options, visit this group >> athttp://groups.google.com/group/sympy?hl=en. > > -- > You received this message because you are subscribed to the Google Groups > "sympy" group. > To post to this group, send email to sy...@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. > -- You received this message because you are subscribed to the Google Groups "sympy" group. To post to this group, send email to sy...@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.