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
-~----------~----~----~----~------~----~------~--~---

Reply via email to