On 11/11/2008 05:56 PM, Martin Rubey wrote:
> Ralf HEMMECKE <[EMAIL PROTECTED]> writes:
>
>>>> 2) The FriCAS interpreter. Here anything can happen.
>>> No, that's not true, at least not if there were no bugs and no
>>> i-coerce.boot,
>>> i-coerfn.boot.
>>> The design is:
>>> 1 if there is an exact match, use it
>>> 2 if there are several possible matches, use a ranking algorithm (in
>>> i-funsel.boot)
>>> 3 otherwise, complain.
>> OK. You know better than me. But the problem for me still is, I don't know
>> what
>> is actually in scope (exposed in axiom-speak).
>
> That's easy to find out: src/algebra/exposed.lsp.pamphlet contains a list of
> constructors that are exposed. The user can modify the status of a
> constructor
> at will,
Does that mean I can unexpose? Unfortunately, exposed.lsp only tells me
only a list, but no explanation. It's not really a pamphlet.
In fricas-spad, can I write a function so that inside it I make
everything from some domain D visible, but don't want to see D outside
that function?
> the result of the function selection algorithm *should* only depend on
> what's exposed and what isn't, but I'm sure that some constructors are
> hardcoded. That's life. I'd love to see somebody working on that algorithm,
> but I doubt it will ever happen. See Issue #105.
>>> I also think that "import" would be much better. However, keep in mind that
>>> for FriCAS, there is only one library (in the Aldor sense), so a part of the
>>> Aldor design is actually not necessary.
>> This is not true. import has nothing to do with the number of libraries.
>> Rather
>> with the number of domains.
> Well, it's possible to use several libraries at the same time in aldor, isn't
> it? And then one can say import from MyLib and it will import everything from
> MyLib?
Well, in Aldor "import" works on domains or libraries. But cannot a
library be considered as a domain that exports its contents?
I don't know whether this is really true, but an aldor library is like
an invisible domain definition...
Let's say a library contains definitions for the domains, categories
define C: Category == with {...}
D: C == add {...}
E: Primitivetype == add {...}
Now I build a new domain Lib like this:
Lib: with {
C: Category;
D: C;
E: PrimitiveType;
} == add {
... here the code from above ...
}
Don't you think that "import from Lib" does the same as if I first put
the above definitions into a file "aaa.as", compile them and then say
#library AAA "aaa.ao"
import from AAA;
Ralf
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---