The append function in axiom has the lisp background. axiom and lisp don't duplicate the last list. fricas (1) -> L1 := [1, Type: List(PositiveInteger?)
fricas L2 := [10, Type: List(PositiveInteger?)
fricas L := append (L1, Type: List(PositiveInteger?)
fricas L2.2 := 100
Type: PositiveInteger?
fricas L.5 -- is 100,
Type: PositiveInteger?
There is also a concat function that I understand in a mathematical way. today concat works as append. fricas L1 := [1, Type: List(PositiveInteger?)
fricas L2 := [10, Type: List(PositiveInteger?)
fricas Lc := concat (L1,
Type: List(PositiveInteger?)
fricas L1.2 :=20
Type: PositiveInteger?
fricas Lc.2
Type: PositiveInteger?
fricas L2.2 :=30
Type: PositiveInteger?
fricas Lc.5
Type: PositiveInteger?
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 ... --kratt6, Thu, 20 Dec 2007 11:04:28 -0800 reply Category: Axiom Compiler => Axiom Library
Status: open => closed
This is a common idiom and List is not "mathematical" but a data structure. |