axiom-math
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Axiom-math] Are Fraction and Complex domains.


From: Gabriel Dos Reis
Subject: Re: [Axiom-math] Are Fraction and Complex domains.
Date: 11 May 2006 20:49:25 +0200

Ralf Hemmecke <address@hidden> writes:

| Can you teach me what a "mode" is? Is that some common term used in
| some context?

A mode seems to be an Axiom-atic term.  The only places I've seen it
used with that specific meaning is in Axiom literature -- see the
B-natural paper, the Axiom book, scratchpad papers. 

Algol uses the term "mode" for what we call "type."  At least my manual
of Algorl 68-R says (page 1):
    
   Values are classified according to type, known in Algol 68 as their
   /mode/. 

| > |        or   " Complex " construct a domain, but isn't a domain ?
| > I think so.
| 
| Hmmm, according to Section 7.8 in the pdf-version of the
| AldorUserGuide, one must perhaps also call "Complex" a domain. But
| then I would prefer to call it "parametrized domain".

The Axiom book calls it a "domain constructor", just like Polynomial,
etc.  See section 2.1.1, page 61.  For example:

   To create the domain of "polynomials over the integers", AXIOM
   applies the function Polynomial to the domain Integer.  A function
   like Polynomial is called a /domain constructor/ or, more simply, a
   /constructor/. 

That terminology is consistent with anything else I've seen in the
majority of programming language communitites.

| > |        or   " Integer " is an abbreviation for Integer without parameter ?
| 
| > from the functional perspective, Integer is a nullary (type) function;
| > it is actually a type constant.
| 
|  From a functional point of view you are certainly right, the only
| problem is that Aldor is not functional.

That should not matter; and if it does, it is a bug!  

Do you really want a type system whose language is not functional?
Notice, that I'm not saying the term language should be functional.
I'm talking of the type (sub-)language.  How do you work with a type
system system whose constructors do not evaluate the same arguments to
the same value? 


| (I have no idea whether the
| following could be done in SPAD, though.)
| 
| BTW, I would rather say, Integer is a type constant. If Integer() is
| defined and works in Axiom then please show me a definition of the
| language that makes it clear that if one defines

Please, first, show me how you meaningfully work with a type system
where the type language is not functional.

| Integer: SomeIntegerCategory
| 
| that also
| 
| Integer: () -> SomeIntegerCategory
| 
| To me, these two things clearly have a different type.

The syntaxes are different; the question is whether the *semantics*
should be different.  The answer must be "no", for a workable type
system.

-- Gaby




reply via email to

[Prev in Thread] Current Thread [Next in Thread]