1 | # Cons two things on the stack.
|
2 |
|
3 |
|
4 |
|
5 | consCount = 0
|
6 | cons = ->
|
7 | consCount++
|
8 | if DEBUG then console.log "cons tos: " + tos + " # " + consCount
|
9 | #if consCount == 444
|
10 | # debugger
|
11 | # auto var ok, no opportunity for garbage collection after p = alloc()
|
12 | p = new U()
|
13 | p.k = CONS
|
14 | p.cons.cdr = pop()
|
15 | if p == p.cons.cdr
|
16 | debugger
|
17 | console.log "something wrong p == its cdr"
|
18 |
|
19 | p.cons.car = pop()
|
20 |
|
21 |
|
22 | ###
|
23 | console.log "cons new cdr.k = " + p.cons.cdr.k + "\nor more in detail:"
|
24 | console.log print_list p.cons.cdr
|
25 | console.log "cons new car.k = " + p.cons.car.k + "\nor more in detail:"
|
26 | console.log print_list p.cons.car
|
27 | ###
|
28 |
|
29 | push(p)
|