axiom-developer
[Top][All Lists]

## [Axiom-developer] [#187 trouble with tuples]

 From: Bill Page Subject: [Axiom-developer] [#187 trouble with tuples] Date: Sat, 02 Jul 2005 09:52:40 -0500

Changes
http://page.axiom-developer.org/zope/mathaction/187TroubleWithTuples/diff
--
I think a domain such as Product deserves (much) more documentation
then just to be listed in Appendix C! Of course that is also true of
many other domains in Axiom. It worries me that a 1000+ page book is
not nearly enough to properly document more than a small number of
Axiom's mathematical constructs. How big of a book do we need? Is the
idea of a "book" adequate at all? In fact Appendix C seems to be of
very little value to me.

> Tuple is more like Direct Product since the entries must come
> from the same domain.

The domain Tuple and the use of tuple in Axiom seems to be
a little confused. See page 1100 of Book::

tuple

an expression of two or more other expressions separated by
commas, for example, 4,7,11. Tuples are also used for multiple
arguments both for applications (for example, f (x,y)) and in
signatures (for example, (Integer, Integer)− > Integer). A
tuple is not a data structure, rather a syntax mechanism for
grouping expressions.

This implies that we should not think of a function with
a signature like '(Integer,Float)->Float' as a mapping
'Product(Integer,Float)->Float' and it certainly isn't the
mapping 'Tuple Any -> Float', but elsewhere in Axiom the
notion of a function as a mapping is very important.

What I want is for Product to be generalized to an n-ary
[Cartesian Product] and then instead of expressions like:
\begin{axiom}
T1:=(1,1.1)
f:(Integer,Float)->Float
\end{axiom}

being interpreted as Tuples, I think such tuples should be
Products:
\begin{axiom}
(1,1.1)\$(Product(Integer,Float)
f:Product(Integer,Float)->Float
\end{axiom}

--