On Wed, Jul 08, 2009 at 04:46:27PM -0700, David Roe wrote: > I've updated my review patches (categories-framework-ref-dr.patch and the > small categories-tensorial_rename-dr.patch).
I just reviewed your reviewer patch this morning. Wow, thanks for the massive work! > Unfortunately, I won't be able to work on this much more in the > next month and a half. categories-framework is quite close to > getting a positive review; the following are the main things that > need to be remedied first. I have a couple things that I need to discuss with you. Would you be available at some point for an IRC chat? Today would be best (except from 5 to midnight). This week-end should be possible. > * 100% doctests. I wrote some doctests, but not as many as I'd hoped. Well, far more than "some"! > This probably constitutes the major portion of the remaining > reviewing work. Ok. I will work on that. > * Have some pickling tests, but make sure that it's comprehensive. Ok. Good occasion to add plenty of TestSuite(...).run(). > * The function Hom in sage.categories.homset could use some cleaning up, > though it works currently. Yeah. Morphims in general need a lot of work. So, let's postpone this. > * Find a better name for sage.categories.map.Map.category_for > * Delete sage.categories.morphism.SetMorphismPython, or give a reason it > shouldn't be deleted. Deleted. > Notes: > > * construction is unneeded for categories (used by the coercion system for > parents). I commented out the definitions of construction >From a general point of view, I find this very nice feature for the user to know how a given object has been constructed (or can be reconstructed). But yes, this is not urgently needed; let's postpone this. > Discussion: we currently have CategoryObject._base as a C attribute > because some elements want fast access to a "base." Is CategoryObject the > right place to put this? Maybe we should generalize the examples of > sage.rings.integer_mod.NativeIntStruct and > sage.rings.padics.pow_computer.PowComputer_class? > > Nicolas: Can the comment at the top of category.py "# Ugly temporary? > workaround; see doc of UniqueRepresentation" describe why this hack is > needed? Thanks for pointing this out. It's indeed not needed anymore (UniqueRepresentation works now better than it used to be). I just removed it (and am running the tests). > Discussion: what's the right inheritance structure for homsets? Also, how > should one specify that a category's homsets are enriched in another > category? Via a method like "enriched_in()" on the category? By > extra_super_categories() in a custom HomCategory? I added those comments to http://sagetrac.org/sage_trac/wiki/CategoriesRoadMap. We really should have a general brainstorm later about homsets. It might be easier during some future Sage days. > * I added a new weakref .version of cachefunc, I'll extract a separate patch for this and review it. > and source introspection for dynamic classes. Someone should > review these (along with the rest of my changes) I will make this into a reviewer's patch for the dynamic_class patch #5991, and review it. > Nicolas: can you clarify the use of > sage.categories.morphism.Morphism.register_as_coercion It's just an experiment toward expressive notations for constructing new coercions. With it, you can just do: - hom(domain, codomain, ...).register_as_coercion() rather than: - codomain.register_coercion(hom(domain, codomain, ...)) It's actually not yet used, but would improve the readability of the sf patch. Do you have suggestions for a better name? > I will be accessible on e-mail, but don't have time to work on this > anytime soon. Good luck! I want to see this incorporated into Sage. Thanks again for all your work! Cheers, Nicolas Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ --~--~---------~--~----~------------~-------~--~----~ To post to this group, send email to sage-devel@googlegroups.com To unsubscribe from this group, send email to sage-devel-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URLs: http://www.sagemath.org -~----------~----~----~----~------~----~------~--~---