axiom-developer
[Top][All Lists]

## Re: [Axiom-developer] Re: fixing SPAD

 From: Ralf Hemmecke Subject: Re: [Axiom-developer] Re: fixing SPAD Date: Sat, 19 May 2007 19:16:07 +0200 User-agent: Thunderbird 2.0.0.0 (X11/20070326)

```From aggcat.spad.pamphlet:
```
```
if Entry has SetCategory and % has finiteAggregate then
entry?: (Entry,%) -> Boolean
++ entry?(x,u) tests if x equals \axiom{u . i} for some index i.

if B has ListAggregate(R) or not(B has shallowlyMutable) then
-- A is a list-oid, and B is either list-oids or not mutable
map(f, l) == construct [f s for s in entries l]

So, as Martin wrote simple boolean operators already work.  I belive
that there are restrictions, namely that more complicated expressions
do not work.
```
```
```
Martin, correct me if I am wrong... But I guess Martin meant that something like
```
define ResidueClassRing(R: CommutativeRing, p: R): Category == with {
Ring;
if prime? p then Field;
...
}

which would be perfectly fine in Aldor does not work in SPAD.

```
In contrast to "has", "is", "and", etc. the function "prime?" is not defined by the language and thus cannot be evaluated at compile time. In Aldor that is delayed until the time that category is first used (at runtime). Only then the actual exports are computed.
```
Ralf

```