_ is the variable. For example, [+ 1 _] is equivalent to (fn (_) (+ 1 _)):
arc> (map [+ 1 _] '(10 20 30)) (11 21 31)
:, ~, ., and !. The ~ character provides Boolean complement of a procedure; ~a is equivalent to (complement a)
arc> (~odd 3) nil arc> (~even 3) tThe
: character implements function composition; a:b is equivalent to (compose a b) and applies a to the result of applying b:
arc> (odd:sqrt 4) nil arc> (odd:sqrt 9) tThe syntax
a.b is equivalent to (a b). It is intended for structure access:
arc> (= x '(a b c d)) (a b c d) arc> x.2 cThe syntax
a!b is equivalent to (a 'b). It is intended for structure access where quoting is needed:
arc> (= tb (obj a 10 b 20 c 30)) #hash((c . 30) (a . 10) (b . 20)) arc> tb!a 10
Copyright 2008 Ken Shirriff.