|how exactly does the function composition syntax a:b work?|
Does it only work on functions or on macros too?
Can I do (a:[+ _ 1] 3) or (a:(fn () 3))?
Why is : infix? The same considerations as for + seem to hold for : ("Putting the + before the numbers looks odd when you're used to
writing "1 + 2," but it has the advantage that + can now take any
number of arguments, not just two:"). That would also make (:) return the identity function. Simply define
(= : (fn x (fold compose id x))
(= (: . x) (fold compose id x)); wow, same length ;)