Guest User

Untitled

a guest
Sep 10th, 2023
94
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lisp 0.89 KB | None | 0 0
  1. (defun get-signals (obj)
  2.   (declare (optimize (speed 0) (space 0) (debug 3)))
  3.   (remove-if-not
  4.    (lambda (it)
  5.      (format t "~a~%" (getf it 'make-instance))
  6.      (format t "~a~%" (member (getf it 'make-instance) '(sl-signal-binary sl-signal-number sl-signal-binary-lambda sl-signal-number-lambda) :test #'equalp))
  7.      (let ((instance-type (getf it 'make-instance)))
  8.        (member instance-type '(sl-signal-binary sl-signal-number sl-signal-binary-lambda sl-signal-number-lambda)))
  9.  
  10.      )
  11.          (mapcar (lambda (it) (concatenate 'list (list :name (first it)) (cadr it)))
  12.              (remove-if-not
  13.               (lambda (it)
  14.                 (and
  15.                  (listp (cadr it))
  16.                  (equalp 'make-instance (caadr it))))
  17.               (mapcar
  18.                (lambda (slot)
  19.                  (list
  20.                   (c2mop:slot-definition-name slot)
  21.                   (c2mop:slot-definition-initform slot)))
  22.                (c2mop:class-slots (find-class (type-of obj))))))))
  23.  
Add Comment
Please, Sign In to add comment