(defmethod form-list-exports ((head (eql 'definst)) tail)
(destructuring-bind (code (streamvar &key export) args &body body) tail
- (declare (ignore streamvar args body))
+ (declare (ignore streamvar body))
(and export
- (list (symbolicate code '-inst)
- (symbolicate 'make- code '-inst)))))
+ (list* (symbolicate code '-inst)
+ (symbolicate 'make- code '-inst)
+ (mapcar (lambda (arg)
+ (symbolicate 'inst- arg))
+ args)))))
(defmethod form-list-exports ((head (eql 'define-tagged-type)) tail)
(destructuring-bind (kind what) tail
(format stream "~@<~@{~S ~@_~S~^ ~_~}~:>"
,@(mappend #'list keys args)))
(progn ,@body))))
- ,@(and export `((export '(,class-name ,constructor-name))))
+ ,@(and export `((export '(,class-name ,constructor-name
+ ,@(mapcar (lambda (arg)
+ (symbolicate 'inst- arg))
+ args)))))
',code)))
;; Important instruction classes.