chickadee » ck-macros » c-ud

(c-ud U) → integer or '#fsyntax
(c-ud U '(ADD1 ...)) → integer or '#fsyntax

Convert from unary integers to decimal integers. Given a list of items, yields the list's length as a decimal integer. The contents of the list do not matter, only its length. If the list length is too large for ADD1, yields '#f.

ADD1 is any operation that given N yields N+1, where 0 <= N. Defaults to c-dadd1, which supports 0 <= N <= 15. See the note for c-dadd1 for how to make an operation with a larger domain.

(ck () (c-ud '()))
;; ==> '0
(ck () (c-ud '(a b c d e f g h i j k l m n o p)))
;; ==> '16
(ck () (c-ud '(a b c d e f g h i j k l m n o p q)))
;; ==> '#f