git.fiddlerwoaroof.com
Browse code

Remove implicit dependencies

Ed Langley authored on 30/04/2019 06:13:08
Showing 1 changed files
... ...
@@ -182,9 +182,10 @@ contain the new value at the location focused by the lens."
182 182
   (lambda (cb)
183 183
     (lambda (old-hash)
184 184
       (fmap (lambda (new)
185
-              (fw.lu:prog1-bind (new-hash (alexandria:copy-hash-table old-hash))
186
-                (setf (gethash key new-hash)
187
-                      new)))
185
+              (let ((new-hash (alexandria:copy-hash-table old-hash)))
186
+                (prog1 new-hash
187
+                  (setf (gethash key new-hash)
188
+                        new))))
188 189
             (funcall cb (gethash key old-hash))))))
189 190
 
190 191
 ;; imagine a lens here that uses the MOP to immutably update a class...
... ...
@@ -498,6 +499,7 @@ contain the new value at the location focused by the lens."
498 499
                           it
499 500
                           (alexandria:iota it-length))))))))
500 501
 
502
+#+nil
501 503
 (defmacro <> (arity &rest funs)
502 504
   (let ((arg-syms (loop repeat arity collect (gensym))))
503 505
     `(lambda (,@arg-syms)
... ...
@@ -510,4 +512,4 @@ contain the new value at the location focused by the lens."
510 512
                            arg-syms))))
511 513
 
512 514
 (defmacro <>1 (&rest funs)
513
-  `(<> 1 ,@funs))
515
+  `(alexandria:compose ,@funs))