Re: Are Fraction and Complex domains.

Gabriel Dos Reis <[email protected]>
Newsgroups gmane.comp.mathematics.axiom.general
Organization Integrable Solutions
Message-ID <[email protected]>
Ralf Hemmecke <[email protected]> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.