+
+
+(progn
+ (eval-when-compile
+ (%compile-defun 'f))
+ (fsetq f (lambda (x) (* x x))))
+
+(debug (f 33))
+
+;; (debug (foo))
+
+;; (eval-when-compile
+;; (%compile-defmacro 'defun
+;; (lambda (name args &rest body)
+;; (list 'eval-when-compile
+;; (list 'compile-defun)
+;; (list 'fsetq (list 'lambda args (list 'progn body)))))))