(defpackage #:hsx/hsx (:use #:cl) (:export #:hsx)) (in-package #:hsx/hsx) (defmacro hsx (form) (find-builtin-symbols form)) (defun find-builtin-symbols (node) (if (atom node) (or (and (symbolp node) (not (keywordp node)) (find-symbol (string node) :hsx/builtin)) node) (cons (find-builtin-symbols (car node)) (mapcar (lambda (n) (if (listp n) (find-builtin-symbols n) n)) (cdr node)))))