Yo !

> Yup. We would want to properly support facade FiniteEnumeratedSets
> over plain Python objects and in particular have:
>
>         sage: F = FiniteEnumeratedSet(["a","b","c"])
>         sage: F("a")
>         "a"
>
> However the coercion system currently does not support facades over
> plain Python objects. That's essentially just because
>
>         sage.structure.coerce_maps.DefaultConvertMap._call_
>
> (which is what Parent.__call__ defaults to if there is no coercion)
> specifies that its return value should be an Element.

Okay... Then would it make sense to make things like
FiniteEnumeratedSet behave "as if they were real parents", for
instance by implementing the __call__ function manually (or let it be
inherited from Facade or whatever it is) so that F("a") works ? It is
not like you need to change coercion code to  make this work ?...

> That has been irritating me for a while, but I am not sure what's the
> right fix.

So what about this way out ?

Nathann

-- 
You received this message because you are subscribed to the Google Groups 
"sage-combinat-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-combinat-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-combinat-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-combinat-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to