chore: don't depend on serapeum, other cleanup

This commit is contained in:
Edward Langley
2024-08-12 00:42:16 -07:00
parent d6aef4f662
commit 35ac09aff4
6 changed files with 32 additions and 19 deletions

View File

@ -183,12 +183,22 @@
(acons "c" (make-instance 'my-map) ())
:test 'equal))))))))
(defun eqq (a b)
(typecase a
(string (equal a b))
(vector (and (vectorp b)
(= (length a) (length b))
(every 'eqq a b)))
(cons (and (consp b)
(eqq (car a) (car b))
(eqq (cdr a) (cdr b))))
(t (eql a b))))
(5am:def-test regex-match (:suite :data-lens.lens)
(5am:is (serapeum:seq=
(list "acb" #("c"))
(multiple-value-list
(funcall (data-lens:regex-match "a(.)b")
"<acb>")))))
(5am:is (eqq (list "acb" #("c"))
(multiple-value-list
(funcall (data-lens:regex-match "a(.)b")
"<acb>")))))
(5am:def-test include (:suite :data-lens.lens)
(5am:is (equal '(1 3 5)

View File

@ -1,6 +1,6 @@
(defpackage :data-lens.t.transducers
(:use :cl )
(:export ))
(:use :cl)
(:export))
(in-package :data-lens.t.transducers)
(5am:def-suite :data-lens.transducers)
@ -182,7 +182,8 @@
(data-lens.transducers:catting)
(data-lens.transducers:mapping #'parse-integer)
(data-lens.transducers:filtering (complement #'evenp))
(data-lens.transducers:splitting (serapeum:op (* 2 _)) #'identity)
(data-lens.transducers:splitting (lambda (_) (* 2 _))
#'identity)
(data-lens.transducers:mapping (data-lens:transform-head #'1+))
(data-lens.transducers:taking 3))
'data-lens.transducers:hash-table-builder