On Mon, Sep 8, 2008 at 8:10 PM, Waldek Hebisch <[EMAIL PROTECTED]> wrote:
>
> Martin Rubey wrote:
>>
>> Martin Rubey <[EMAIL PROTECTED]> writes:
>>
>> > * I'll have to think about "associated" packages. You wrote:
>> >
>> > > packages like DoubleFloatSpecialFunctions or FloatSpecialFunctions exists
>> > > exactly to allow adding functions without modifying DoubleFloat or Float,
>> > > more precisely adding functions without directly or indirecly adding
>> > > them to
>> > > list of exported functions. Interpreter has special logic to find
>> > > "associated packages" and look for functions there.
>> >
>> > I guess, the point is that we cannot say (at least in SPAD/Aldor) in, say
>> > FLOAT: take definitions from the package FloatSpecialFunctions if you
>> > cannot
>> > find them here...
>>
>> Actually, we want "extend" here, don't you think?
>>
>
> Playing devils advocate: you can dynamically expose or unexpose
> associated packages, but with extend the main challenge is to
> get reasonable dynamic behavior.
>
I like the suggested use of expose to manage domain extensions.
I am sorry, but I am still thinking about categories and domains from
another thread. :-)
I recall that during the Aldor/Axiom workshop Stephen Watt suggested
that there might be some cases when it would be interesting to define
a "singleton" category which specifically satisfies a given domain.
Suppose there was an operation which evaluates to a category 'Cat(D)'
- sort of like Join except it takes a domain D as parameter. By
definition we would have
D has Cat(D)
True
for all domains D. Now we could easily define a new domain that
"extends" D by writing:
)abbrev domain NEWD NewD
NewD():Cat(D) with ...
== D add
...
But more interesting perhaps is that we could also easily write a
package that adds virtual functionality to D (and any domain that
extends D) without defining a new domain:
)abbrev package EXTD1 ExtD1
ExtD1(D1:Cat(D)): with
foo: D1 -> D1
...
== add
...
Remember the only the domain D or any domain that "extends" D satisfies Cat(D).
Regards,
Bill Page.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---