mirror of
https://github.com/fiddlerwoaroof/data-lens.git
synced 2025-11-08 18:26:32 +00:00
Reformat
This commit is contained in:
36
lens.lisp
36
lens.lisp
@ -1,29 +1,11 @@
|
|||||||
(defpackage :data-lens
|
(defpackage :data-lens
|
||||||
(:use :cl)
|
(:use :cl)
|
||||||
(:export #:regex-match #:include #:exclude #:pick
|
(:export #:regex-match #:include #:exclude #:pick #:key-transform
|
||||||
#:snapshot-to-vector #:vector-to-lt #:key-transform
|
#:combine #:derive #:cumsum #:over #:on #:shortcut #:defun-ct #:key
|
||||||
#:combine #:derive #:cumsum #:over #:on #:shortcut
|
#:extract-key #:element #:let-fn #:juxt #:transform-tail #:slice
|
||||||
#:defun-ct
|
#:compress-runs #:combine-matching-lists #:sorted #:applicable-when
|
||||||
#:key
|
#:of-length #:of-min-length #:of-max-length #:transform-head
|
||||||
#:extract-key
|
#:maximizing #:zipping #:applying #:transform-elt #:denest))
|
||||||
#:element
|
|
||||||
#:let-fn
|
|
||||||
#:juxt
|
|
||||||
#:transform-tail
|
|
||||||
#:slice
|
|
||||||
#:compress-runs
|
|
||||||
#:combine-matching-lists
|
|
||||||
#:sorted
|
|
||||||
#:applicable-when
|
|
||||||
#:of-length
|
|
||||||
#:of-min-length
|
|
||||||
#:of-max-length
|
|
||||||
#:transform-head
|
|
||||||
#:maximizing
|
|
||||||
#:zipping
|
|
||||||
#:applying
|
|
||||||
#:transform-elt
|
|
||||||
#:denest))
|
|
||||||
(in-package :data-lens)
|
(in-package :data-lens)
|
||||||
|
|
||||||
(declaim
|
(declaim
|
||||||
@ -53,7 +35,7 @@
|
|||||||
(defmacro let-fn ((&rest bindings) &body body)
|
(defmacro let-fn ((&rest bindings) &body body)
|
||||||
(let ((binding-forms (mapcar (lambda (form)
|
(let ((binding-forms (mapcar (lambda (form)
|
||||||
`(,(car form) ,(cadr form)
|
`(,(car form) ,(cadr form)
|
||||||
(funcall ,@(cddr form) ,@(cadr form))))
|
(funcall ,@(cddr form) ,@(cadr form))))
|
||||||
bindings)))
|
bindings)))
|
||||||
`(labels ,binding-forms
|
`(labels ,binding-forms
|
||||||
,@body)))
|
,@body)))
|
||||||
@ -65,8 +47,8 @@
|
|||||||
(typecase (car map)
|
(typecase (car map)
|
||||||
(cons (cdr (assoc key map :test 'equal)))
|
(cons (cdr (assoc key map :test 'equal)))
|
||||||
(t (loop for (a-key . value) on map by #'cddr
|
(t (loop for (a-key . value) on map by #'cddr
|
||||||
when (equal key a-key) do
|
when (equal key a-key) do
|
||||||
(return (car value)))))))
|
(return (car value)))))))
|
||||||
|
|
||||||
(defun-ct deduplicate (&optional (test 'eql))
|
(defun-ct deduplicate (&optional (test 'eql))
|
||||||
(lambda (it)
|
(lambda (it)
|
||||||
|
|||||||
Reference in New Issue
Block a user