Bill Page wrote:
>
> On Mon, 24 Nov 2008 11:05:29 +0100 Ralf Hemmecke wrote:
> > ...
> > But CoercibleFrom and RetractableTo should be just one category.
> > ...
We do not have CoercibleFrom and given that we have RetractableTo
it would be somewhat redundant.
>
> Yes, I agree. In fact I would go further. Because RetractableTo(S)
> includes 'coerce:S -> %' there may be some cases where the current use
> of 'CoercibleTo' is inadequate.
>
> I think that 'CoercibleTo' should be eliminated. In all domains A in
> which the category CoercibleTo(B) occurs, it should be removed and
> RetractableTo(A) added to the domain B (if not already present). All
> occurrences of
>
> if A has CoercibleTo(B) then ...
>
> should be replaced with
>
> if B has RetractableTo(A) then ...
>
> In a few cases this might mean providing code for missing retractions.
>
Canonical use of CoercibleTo is CoercibleTo(OutputForm). Do you
think that we should have retraction from OutputForm back to
given domain?
If you look at coercions another interesting case are Void, None and
Any -- if you belive that coercions can be composed you can
constuct some absurd mapping using those domains.
More generally CoercibleTo means _one way_ transformation,
without a canonical way back. RetractableTo is closer to
embedding.
--
Waldek Hebisch
[EMAIL PROTECTED]
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"FriCAS - computer algebra system" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/fricas-devel?hl=en
-~----------~----~----~----~------~----~------~--~---