mirror of
https://github.com/fiddlerwoaroof/data-lens.git
synced 2025-11-08 18:26:32 +00:00
Compare commits
9 Commits
f517e52845
...
801bc1e033
| Author | SHA1 | Date | |
|---|---|---|---|
| 801bc1e033 | |||
| 1be82ea49d | |||
| b7d6687304 | |||
| 78663d73f1 | |||
| a65fc3873a | |||
| 8709d41f8b | |||
| 176572c2c6 | |||
| dc58526088 | |||
| 9f53b1a106 |
11
.github/workflows/test.yml
vendored
11
.github/workflows/test.yml
vendored
@ -30,13 +30,20 @@ jobs:
|
|||||||
# Runs a set of commands using the runners shell
|
# Runs a set of commands using the runners shell
|
||||||
- name: setup deps
|
- name: setup deps
|
||||||
run: |
|
run: |
|
||||||
nix profile install nixpkgs\#sbcl
|
set -x
|
||||||
cd
|
cd
|
||||||
|
|
||||||
|
nix profile install nixpkgs\#sbcl
|
||||||
|
command -v sbcl || exit 36
|
||||||
|
|
||||||
wget 'https://beta.quicklisp.org/quicklisp.lisp'
|
wget 'https://beta.quicklisp.org/quicklisp.lisp'
|
||||||
|
[[ -f ./quicklisp.lisp ]] || exit 37
|
||||||
|
|
||||||
sbcl --eval '(require :uiop)' \
|
sbcl --eval '(require :uiop)' \
|
||||||
--load quicklisp.lisp \
|
--load quicklisp.lisp \
|
||||||
--eval '(handler-case (progn (error "fail!") (quicklisp-quickstart:install)) (error () (uiop:quit 40)))' \
|
--eval '(handler-case (quicklisp-quickstart:install) (error () (uiop:quit 38)))' \
|
||||||
--quit
|
--quit
|
||||||
|
[[ -f "$HOME"/quicklisp/setup.lisp ]] || exit 39
|
||||||
|
|
||||||
- name: run tests
|
- name: run tests
|
||||||
run: |
|
run: |
|
||||||
|
|||||||
@ -6,10 +6,9 @@
|
|||||||
"composable functions, modeled on lenses and"
|
"composable functions, modeled on lenses and"
|
||||||
"transducers")
|
"transducers")
|
||||||
:author "Edward Langley <el-cl@elangley.org>"
|
:author "Edward Langley <el-cl@elangley.org>"
|
||||||
:license "MIT"
|
:license "Apache v2"
|
||||||
:depends-on (:cl-ppcre
|
:depends-on (:cl-ppcre
|
||||||
:alexandria
|
:alexandria)
|
||||||
:serapeum)
|
|
||||||
:serial t
|
:serial t
|
||||||
:components ((:file "package")
|
:components ((:file "package")
|
||||||
(:file "optics")
|
(:file "optics")
|
||||||
@ -19,9 +18,10 @@
|
|||||||
:description #.(format nil "~@{~a~^ ~}"
|
:description #.(format nil "~@{~a~^ ~}"
|
||||||
"A collection of transducers to reduce stream-manipulation overhead")
|
"A collection of transducers to reduce stream-manipulation overhead")
|
||||||
:author "Edward Langley <el-cl@elangley.org>"
|
:author "Edward Langley <el-cl@elangley.org>"
|
||||||
:license "MIT"
|
:license "Apache v2"
|
||||||
:depends-on (:data-lens
|
:depends-on (:data-lens
|
||||||
:alexandria)
|
:alexandria
|
||||||
|
:serapeum)
|
||||||
:serial t
|
:serial t
|
||||||
:in-order-to ((test-op (test-op :data-lens/transducers/test)))
|
:in-order-to ((test-op (test-op :data-lens/transducers/test)))
|
||||||
:components ((:file "package")
|
:components ((:file "package")
|
||||||
@ -32,7 +32,7 @@
|
|||||||
(asdf:defsystem #:data-lens/transducers/test
|
(asdf:defsystem #:data-lens/transducers/test
|
||||||
:description "tests for the transducers"
|
:description "tests for the transducers"
|
||||||
:author "Edward Langley <el-cl@elangley.org>"
|
:author "Edward Langley <el-cl@elangley.org>"
|
||||||
:license "MIT"
|
:license "Apache v2"
|
||||||
:depends-on (:data-lens/beta/transducers
|
:depends-on (:data-lens/beta/transducers
|
||||||
:fiveam)
|
:fiveam)
|
||||||
:serial t
|
:serial t
|
||||||
|
|||||||
@ -151,7 +151,7 @@ contain the new value at the location focused by the lens."
|
|||||||
(fmap (lambda (new)
|
(fmap (lambda (new)
|
||||||
(cons (cons key new)
|
(cons (cons key new)
|
||||||
alist))
|
alist))
|
||||||
(funcall cb (serapeum:assocdr key alist))))))
|
(funcall cb (cdr (assoc key alist)))))))
|
||||||
|
|
||||||
(defun make-alist-lens (key)
|
(defun make-alist-lens (key)
|
||||||
"A lens for updating a alist, discarding previous values"
|
"A lens for updating a alist, discarding previous values"
|
||||||
@ -162,7 +162,7 @@ contain the new value at the location focused by the lens."
|
|||||||
alist)
|
alist)
|
||||||
:key #'car
|
:key #'car
|
||||||
:from-end t))
|
:from-end t))
|
||||||
(funcall cb (serapeum:assocdr key alist))))))
|
(funcall cb (cdr (assoc key alist)))))))
|
||||||
|
|
||||||
(defun make-list-lens (index)
|
(defun make-list-lens (index)
|
||||||
"A lens for updating a sequence"
|
"A lens for updating a sequence"
|
||||||
|
|||||||
@ -11,7 +11,6 @@
|
|||||||
|
|
||||||
(defpackage :data-lens
|
(defpackage :data-lens
|
||||||
(:use :cl)
|
(:use :cl)
|
||||||
(:import-from #:serapeum #:op #:defalias)
|
|
||||||
(:export #:regex-match #:include #:exclude #:pick #:key-transform
|
(:export #:regex-match #:include #:exclude #:pick #:key-transform
|
||||||
#:combine #:derive #:cumsum #:over #:on #:shortcut
|
#:combine #:derive #:cumsum #:over #:on #:shortcut
|
||||||
#:defun-ct #:key #:extract-key #:element #:let-fn #:juxt
|
#:defun-ct #:key #:extract-key #:element #:let-fn #:juxt
|
||||||
|
|||||||
Reference in New Issue
Block a user