|
1
2
3
|
|
Editor:
Time: 2007/11/17 22:04:33 GMT-8
|
Note:
|
changed:
-
The append function in axiom has the lisp background.
axiom and lisp don't duplicate the last list.
\begin{axiom}
L1 := [1,2,3] ;
L2 := [10,11,12] ;
L := append (L1, L2) ;
L2.2 := 100
L.5 -- is 100, not 11
\end{axiom}
There is also a concat function that I understand in a mathematical way.
today concat works as append.
\begin{axiom}
L1 := [1,2,3];
L2 := [10,11,12] ;
Lc := concat (L1, L2)
L1.2 :=20
Lc.2
L2.2 :=30
Lc.5
\end{axiom}
Lc doesn't change if I change L1, and Lc change if I modify L2.
Is it possible to change concat in order to copy L2, as
concat (L1, L2) == append (L1, copy (L2))
The concat function becomes just a little slower.
And then list are here a real hi-level n-uple oblject, not a lisp object.
F.Maltey
The append function in axiom has the lisp background.
axiom and lisp don't duplicate the last list.
axiom
L1 := [1,2,3] ;
Type: List(PositiveInteger
?)
axiom
L2 := [10,11,12] ;
Type: List(PositiveInteger
?)
axiom
L := append (L1, L2) ;
Type: List(PositiveInteger
?)
axiom
L2.2 := 100
axiom
L.5 -- is 100, not 11
There is also a concat function that I understand in a mathematical way.
today concat works as append.
axiom
L1 := [1,2,3];
Type: List(PositiveInteger
?)
axiom
L2 := [10,11,12] ;
Type: List(PositiveInteger
?)
axiom
Lc := concat (L1, L2)
Type: List(PositiveInteger
?)
axiom
L1.2 :=20
axiom
Lc.2
axiom
L2.2 :=30
axiom
Lc.5
Lc doesn't change if I change L1, and Lc change if I modify L2.
Is it possible to change concat in order to copy L2, as
concat (L1, L2) == append (L1, copy (L2))
The concat function becomes just a little slower.
And then list are here a real hi-level n-uple oblject, not a lisp object.
F.Maltey