Hi, Just a quick update on the refactoring and categorifications of posets. There are a couple issues left, but you might want to play around with the following (with the sage-combinat patches applied), and I would love to have feedback on what breaks or not:
As an experimental feature, one can construct facade posets:: sage: P = Poset(DiGraph({'d':['c','b'],'c':['a'],'b':['a']}), ... category = (FinitePosets(), Sets().Facades())) In that case, the elements of the posets remain plain strings:: sage: d,c,b,a = list(P) sage: type(a) <type 'str'> Of course, those strings are not aware of `P`; so to compare two such strings, one need to query `P`:: sage: a < b True sage: P.le(a,b) # todo: not implemented False Some operations still work, but at this point there is no guarantee whatsoever:: sage: P.list() ['d', 'b', 'c', 'a'] sage: P.principal_order_ideal('a') ['d', 'b', 'c', 'a'] sage: P.principal_order_ideal('b') ['d', 'b'] sage: P.principal_order_ideal('d') ['d'] ------------------------------------------------------------------------------ In particular, one would need good names for the basic poset operations: P.le(a,b) (returns a< b in P) P.lequal(a,b) (returns a<=b in P) ... Suggestions? Cheers, Nicolas -- Nicolas M. ThiƩry "Isil" <nthi...@users.sf.net> http://Nicolas.Thiery.name/ -- You received this message because you are subscribed to the Google Groups "sage-combinat-devel" group. To post to this group, send email to sage-combinat-devel@googlegroups.com. To unsubscribe from this group, send email to sage-combinat-devel+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/sage-combinat-devel?hl=en.