お勉強中

defunがマクロだと知ったので、自分で定義できないかがんがってみました.
なんか変になったような・・・?

(defmacro define (func-name arg-list proc)
  `(let ((fn2 (quote ,func-name))
	   (expression #'(lambda ,arg-list ,proc)))
	(setf (symbol-function (intern (symbol-name fn2))) expression) ))

シンボルの作り方がわからなかったので適当にぐぐりんこしてinternを使ってみました.
defunはおそらくもっとエレガントに定義されてるんだろうなぁ・・・笑