summaryrefslogtreecommitdiffstats
path: root/tests/012/aseq.tl
blob: 7901c4ab7e1d39874f0e94aff4d932ccf23410c8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
(load "../common")

(defstruct (add n list) nil
  n list
  (:method cdr (me) (if (cdr me.list) (new (add me.n (cdr me.list)))))
  (:method car (me) (+ me.n (car me.list)))
  (:method nullify (me) (if me.list me))
  (:method lambda (me i) (ref me i)))

(defvarl o (new (add 3 (range 10 100 10))))

(test (car o) 13)
(test (cadr o) 23)
(test [o 4] 53)
(test (cadr (last o)) nil)