Accumulators and Tail Recursion
ltoBinary2(37, []) ==>
ltoBinary2(18, [1]) ==>
ltoBinary2(9, [0, 1]) ==>
ltoBinary2(4, [1, 0,
1]) ==>
ltoBinary2(2, [0, 1,
0, 1]) ==>
ltoBinary2(1, [0, 0,
1, 0, 1]) ==>
ltoBinary2(0, [1, 0,
0, 1, 0, 1]) ==>
l[1, 0, 0, 1, 0,
1]
ltoBinary1(37) ==>
l[1 | toBinary1(18)] ==>
l[1, 0 | toBinary1(9)]
==>
l[1, 0, 1 |
toBinary1(4)] ==>
l[1, 0, 1, 0 |
toBinary1(2)] ==>
l[1, 0, 1, 0, 0 |
toBinary1(1)] ==>
l[1, 0, 1, 0, 0, 1|
toBinary1(0)] ==>
l[1, 0, 1, 0, 0, 1| [ ] ]
==
l[1, 0, 1, 0, 0, 1]