>>> I'd either call this generateHallBasis or hallBasis. I opt for the
>>> first
> need for disambiguation: if HallBasis is imported than
> for the readers should be clear that 'basis' is Hall basis.
In fact, the reason, why I called it "generateHallBasis" was that from
the description I concluded that it is somehow like computing a Gröbner
basis from some initial data (well not from (ideal) generators, but some
other data).
Imagine, the function in the package GroebnerBasisPackage would simply
be called "basis"? Well, of course, that would work, but a bit too
generic for my taste.
And maybe it is an implementation detail of the SPAD compiler, but I
don't see a reason why there couldn't be a local namespace for domains
(and perhaps even for categories) as well. If I am not completely
mistaken then the Aldor library even uses this in the implementation of
List.
See line 112 of aldor/lib/axllib/src/list.as:
List(S: Type): ListCategory S with == FakedConditionalOperations S add {
macro Rep == P;
macro R == Record(first: S, rest: Rep);
[... snip ...]
P: with {
nil?: % -> Boolean;
nilptr: %;
recptr: R -> %;
value: % -> R;
} == add {
macro Rep == Pointer;
import from Rep;
nil? (p: %): Boolean == nil? rep p;
nilptr: % == per (nil$Pointer);
recptr(r: R): % == r pretend %;
value(p: %): R == p pretend R;
}
[... snip ...]
Of course, that is only partially useful, but it should not be ruled out
from the beginning. OK... that's another topic.
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.