digits([arg]) := block(
[n: first(arg), b: if length(arg) > 1 then second(arg) else 10, v: [ ], q],
if n = 0 then [0] else (
while n # 0 do (
[n, q]: divide(n, b),
v: endcons(q, v)
),
v
)
)$
binary(n) := simplode(reverse(digits(9000, 2)))$
binary(9000);
"10001100101000"