Bill Page wrote:
>
> http://axiom-wiki.newsynthesis.org/SandBoxNonZeroInteger
>
> In general I think the FriCAS library compiler support for SubDomain
> should be more complete so that such built-in knowledge is
> unnecessary.
>
> Comments would be most appreciated.
>
SubDomain is related to concept of subtyping. Unfortunatly,
proper handling of subtyping is problematic, in particular
in a languange allowing dependent types. IIRC when one
uses quite standard definition of dependent types and adds
subtyping then even _type checking_ becomes undecidable.
Type checking means that all variables (and constants) have
declared types and compiler should "just" assign types
to intermediate expressions.
I would like to have good support for subtyping, but
given that problem is hard do not expect quick results
-- such support is just a dream.
Concerning immediate future I must admit that I considered
removing SubDomain: as it is almost useless (except for
hardcoded cases of PositiveInteger and NonNegativeInteger)
but causes some complications. Actually more troubles
is caused by SubsetCategory -- I think that mere _existence_
of SubsetCategory is responsible for about 30% of current
compile time (and there is not so small code to support it).
SubsetCategory represents different variant of subtyping
-- it is category of subdomains of given domain, without
specifing exact domain but promising that you can coerce/
retract back and forth.
So, as I wrote I would like to have subtyping, but given
our current code the best tactic may be just to remove
current implementation and start from scratch.
--
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
-~----------~----~----~----~------~----~------~--~---