feat(utils): use FUNCTIONALIZE in data-lens. Slightly incompatible

This commit is contained in:
Edward
2020-12-30 22:08:03 -08:00
parent cf67a11e13
commit d232497011

View File

@ -248,8 +248,9 @@
:initial-value ())))) :initial-value ()))))
(defun-ct over (fun &key (result-type 'list)) (defun-ct over (fun &key (result-type 'list))
(let ((fun (functionalize fun)))
(lambda (seq) (lambda (seq)
(map result-type fun seq))) (map result-type fun seq))))
(defun-ct denest (&key (result-type 'list)) (defun-ct denest (&key (result-type 'list))
(lambda (seq) (lambda (seq)
@ -257,13 +258,16 @@
seq))) seq)))
(defmacro applying (fun &rest args) (defmacro applying (fun &rest args)
(alexandria:with-gensyms (seq) (alexandria:with-gensyms (seq fsym)
`(lambda (,seq) `(let ((,fsym (functionalize ,fun)))
(apply ,fun ,@args ,seq)))) (lambda (,seq)
(apply ,fsym ,@args ,seq)))))
(defun-ct on (fun key) (defun-ct on (fun key)
(let ((fun (functionalize fun))
(key (functionalize key)))
(lambda (it) (lambda (it)
(funcall fun (funcall key it)))) (funcall fun (funcall key it)))))
(defun filler (length1 length2 fill-value) (defun filler (length1 length2 fill-value)
(if (< length1 length2) (if (< length1 length2)