Add a handy disassembly macro
    
        | author | 
        Steve Losh <steve@stevelosh.com> | 
    
    
        | date | 
        Tue, 05 Jul 2016 16:44:10 +0000 | 
    
    
    
        | parents | 
        970e21fa14b0 
 | 
    
    
        | children | 
        6a93a2d2ed60
 | 
    
    
        | branches/tags | 
        (none) | 
    
    
        | files | 
        package.lisp src/utils.lisp  | 
    
Changes
    
--- a/package.lisp	Mon Jul 04 23:35:08 2016 +0000
+++ b/package.lisp	Tue Jul 05 16:44:10 2016 +0000
@@ -6,6 +6,7 @@
   (:use
     #:cl
     #:defstar
+    #:cl-arrows
     #:bones.quickutils)
   (:export
     #:repeat
@@ -15,7 +16,7 @@
     #:recur
     #:when-let
     #:unique-items
-    ))
+    #:dis))
 
 (defpackage #:bones.circle
   (:use #:cl #:defstar)
--- a/src/utils.lisp	Mon Jul 04 23:35:08 2016 +0000
+++ b/src/utils.lisp	Tue Jul 05 16:44:10 2016 +0000
@@ -56,6 +56,15 @@
     :finally (return once)))
 
 
+(defmacro dis (arglist &body body)
+  `(->> '(lambda* ,arglist
+          (declare (optimize speed))
+          ,@body)
+    macroexpand-1
+    (compile nil)
+    disassemble))
+
+
 ;;;; loop/recur
 (defmacro recursively (bindings &body body)
   "Execute body recursively, like Clojure's `loop`/`recur`.