* Intro This library provides a language for expressing data manipulations as the composition of more primitive operations. #+BEGIN_SRC lisp DATA-LENS> (funcall (on (compress-runs :collector 'combine-matching-lists) (alexandria:compose (over (data-lens:juxt (data-lens:element 0) 'identity)) (sorted 'char< :key (element 0)))) '("January" "February" "March" "April" "May" "June" "July" "August" "September" "October" "November" "December")) #| ==> ((#\A "April" "August") (#\D "December") (#\F "February") (#\J "January" "June" "July") (#\M "March" "May") (#\N "November") (#\O "October") (#\S "September")) |# #+END_SRC