2009-10-08から1日間の記事一覧
(defun ahop (n) (let ((n0 (mod n 10))) (cond ((= 3 n0) t) ((<= n 9) nil) (t (ahop (floor n 10)))))) (defun aho3 ( cur end_1 &optional ln ) (if (>= cur end_1) (nreverse ln) (let* ((mf3 (= (mod cur 3) 0)) (ahof (or mf3 (ahop cur)))) (setf ln…
没になったアイデア。複雑すぎるだろう。 (defmacro def-s (var &key force-def-as-variable ) `(flet ((my-func (x) (format t "myfunc ~a~%" x))) (if ,force-def-as-variable (if (fboundp ,var) (error (format nil "var is already defined ~s" ,var)) …
SICP の場合 (set! x (make-wire)) とするので関数の名称は make でよかった。マクロを使った場合 (make-wire x) これはちょっとおかしい。common lisp でも (setf a (make-array 3)) だ。struct の生成の場合 (defstruct my-d m-v) だ。したがって、この場…
おおげさだが、SICP の回路シミュレータが common lisp で動くようになった。SICP にあった reset はあえて入れていない。full-addr まで動いた。さて、LoL の defmacro! 使いどころが難しい。LoL でも必要のないところは defmacro (!がない普通の defmacro)…