From 5bd17dc8e5138337b6637ff39cdc5eefb65434b6 Mon Sep 17 00:00:00 2001 From: fiddlerwoaroof Date: Fri, 18 Dec 2020 23:58:07 -0800 Subject: [PATCH] refactor(transducers): remove package names --- transducers.lisp | 27 ++++++++++++++------------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/transducers.lisp b/transducers.lisp index 427220d..7a73062 100644 --- a/transducers.lisp +++ b/transducers.lisp @@ -103,33 +103,33 @@ (init build))))) (defun eduction (xf seq) (lambda (build) - (data-lens.transducers.internals:unwrap + (unwrap build (catch 'done - (data-lens.transducers.internals:reduce-generic seq - (funcall xf (stepper build)) - (init build)))))) + (reduce-generic seq + (funcall xf (stepper build)) + (init build)))))) -(defmethod data-lens.transducers.internals:init ((it (eql 'hash-table-builder))) +(defmethod init ((it (eql 'hash-table-builder))) (make-hash-table)) -(defmethod data-lens.transducers.internals:stepper ((it (eql 'hash-table-builder))) +(defmethod stepper ((it (eql 'hash-table-builder))) (lambda (acc next) (destructuring-bind (k v) next (setf (gethash k acc) v)) acc)) -(defmethod data-lens.transducers.internals:init ((it (eql 'vector-builder))) +(defmethod init ((it (eql 'vector-builder))) (make-array 0 :fill-pointer t :adjustable t)) -(defmethod data-lens.transducers.internals:stepper ((it (eql 'vector-builder))) +(defmethod stepper ((it (eql 'vector-builder))) (lambda (acc next) (vector-push-extend next acc) acc)) -(defmethod data-lens.transducers.internals:init ((it (eql 'list-builder))) +(defmethod init ((it (eql 'list-builder))) (declare (optimize (speed 3))) (coerce (vector nil nil) '(simple-array list (2)))) -(defmethod data-lens.transducers.internals:stepper ((it (eql 'list-builder))) +(defmethod stepper ((it (eql 'list-builder))) (lambda (acc a) (declare (optimize (speed 3)) (type (simple-array list (2)) acc)) @@ -141,14 +141,14 @@ (setf (elt acc 0) new (elt acc 1) new))) acc)) -(defmethod data-lens.transducers.internals:unwrap ((it (eql 'list-builder)) obj) +(defmethod unwrap ((it (eql 'list-builder)) obj) (elt obj 0)) (defclass lazy-sequence () ((%next :initarg :next :reader next))) (defun lazy-sequence (next) (make-instance 'lazy-sequence :next next)) -(defmethod data-lens.transducers.internals:reduce-generic ((seq lazy-sequence) (func function) init) +(defmethod reduce-generic ((seq lazy-sequence) (func function) init) (let ((next (next seq))) (loop for next-val = (funcall next) for acc = init then next-acc @@ -168,7 +168,8 @@ (catting) (mapping #'parse-integer) (filtering (complement #'evenp)) - (mapping (data-lens:juxt #'identity #'identity)) + (mapping (data-lens:juxt #'identity + #'identity)) (mapping (data-lens:transform-head #'2*)) (mapping (data-lens:transform-head #'1+)) (taking 2))