https://github.com/fiddlerwoaroof/data-lens
Functional utilities for Common Lisp
https://github.com/fiddlerwoaroof/data-lens
data data-transformation functional-programming lisp transducers
Last synced: 3 months ago
JSON representation
Functional utilities for Common Lisp
- Host: GitHub
- URL: https://github.com/fiddlerwoaroof/data-lens
- Owner: fiddlerwoaroof
- License: apache-2.0
- Created: 2017-08-13T19:58:09.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2025-06-28T22:02:50.000Z (3 months ago)
- Last Synced: 2025-07-14T05:16:58.166Z (3 months ago)
- Topics: data, data-transformation, functional-programming, lisp, transducers
- Language: Common Lisp
- Homepage: https://fiddlerwoaroof.github.io/data-lens/
- Size: 222 KB
- Stars: 31
- Watchers: 6
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.org
- License: LICENSE
Awesome Lists containing this project
README
* Intro
This library provides a language for expressing data manipulations as
the composition of more primitive operations.#+BEGIN_SRC lisp
DATA-LENS> (funcall (on (alexandria:compose
(over (transform-tail (over (slice 1))))
(compress-runs :collector 'combine-matching-lists))
(alexandria:compose
(over (juxt (element 0)
'identity))
(sorted 'char<
:key (element 0))))
'("January" "February" "March" "April"
"May" "June" "July" "August"
"September" "October" "November" "December"))
#| ==> ((#\A "pril" "ugust")
(#\D "ecember")
(#\F "ebruary")
(#\J "anuary" "une" "uly")
(#\M "arch" "ay")
(#\N "ovember")
(#\O "ctober")
(#\S "eptember")) |#
#+END_SRC