git.fiddlerwoaroof.com
Browse code

initial implementation of tagged objects for fset

Ed Langley authored on 18/06/2018 00:15:42
Showing 2 changed files
... ...
@@ -16,7 +16,8 @@
16 16
 
17 17
 (defsystem :cl-edn/fset
18 18
   :depends-on (#:cl-edn
19
-               #:fset)
19
+               #:fset
20
+               #:fwoar.lisputils)
20 21
   :components ((:file "fset-synthesize")))
21 22
 
22 23
 (defsystem :cl-edn/test
... ...
@@ -45,3 +45,8 @@
45 45
     (make-symbol (if ns
46 46
                      (format nil "~a/~a" ns name)
47 47
                      (format nil "~a" name)))))
48
+
49
+(defmethod synthesize-compound (implementation (discriminator (eql :tagged)) args)
50
+  (destructuring-bind (sym obj) args
51
+    (list :tagged (synthesize-compound implementation (car sym) (cdr sym))
52
+          (synthesize implementation obj))))