[Aldor-l] [open-axiom-devel] [#428] 'Domain' in 'SetCategory'?

Gabriel Dos Reis gdr at integrable-solutions.net
Thu Jul 3 12:18:49 EDT 2008


On Wed, Jun 18, 2008 at 12:06 PM, Bill Page <bill.page at newsynthesis.org> wrote:
> On Wed, Jun 18, 2008 at 7:53 AM, Ralf Hemmecke wrote:
>> On 06/18/2008 01:37 PM, Bill Page wrote:
>>>
>>> On 6/18/08, Ralf Hemmecke wrote:
>>>>
>>>> ...
>>>> Bill Page wrote:
>>>>>
>>>>> That category that plays this role in Axiom is called Type
>>>>> (1) -> )sh Type
>>>>>  Type  is a category constructor
>>>>
>>>> Hmmm, maybe I mix again Aldor and SPAD...
>>>>
>>>> See section 7.7 AUG:
>>>> Type: A type S satisfies the language-defined type Type if S is
>>>> the type of a domain or category. In other words, all domains
>>>> and categories are types.
>>>>
>>>> Is this really different for SPAD? (I am not saying anything about
>>>> the interpreter.)
>>>
>>> No, I think it is the same. Both domains and categories satisfy
>>> Type, e.g.
>>>
>>> (1) -> SetCategory has Type
>>>
>>>   (1)  true
>>>                                                       Type: Boolean
>>> (2) -> Integer has Type
>>>
>>>   (2)  true
>>>                                                       Type: Boolean
>>
>> See AUG page 96:
>>
>> Has expressions
>> A "has" expression has the following form:
>>    dom has cat
>> where dom is a domain-valued expression, and cat is a category-valued
>> expression.
>>
>> So at least "has" is different in the Axiom interpreter or in SPAD.
>>
>
> You are right, there is a difference between Aldor and OpenAxiom. In
> Aldor Type is not a category - it is a domain!

Yes.  The fact that `Type' is a category, but not a domain is something that
OpenAxiom inherits form the base AXIOM system.  On many occasions
I've found it a blessing and a curse.

It is annoying when your realize that OpenAxiom can correctly evaluate
[Ring, Integer] as a List Type, but will not be able to print it correctly.
The reason being that Type is a category, therefore does not know
(yet) how to print itself, i.e. the query

    Type has CoercibleTo OutputForm

is meaningless.

-- Gaby



More information about the Aldor-l mailing list