【入門】Common Lisp その8【質問よろず】
■ このスレッドは過去ログ倉庫に格納されています
0024デフォルトの名無しさん
2011/07/16(土) 19:08:06.55なるほど。力になれずに申し訳ないけど、ポータブルなやり方は分からない。
subtypepのエラーを捕捉するのが、泥臭いけど一番良いのかな。
>>22で挙げたccl:type-specifier-pでは、
(defun type-specifier-p (form &aux sym)
(cond ((symbolp form)
(or (type-predicate form)
(structure-class-p form)
(%deftype-expander form)
(find-class form nil)))
((consp form)
(setq sym (%car form))
(or (type-specifier-p sym)
(memq sym '(member satisfies mod))
(and (memq sym '(and or not))
(dolist (spec (%cdr form) t)
(unless (type-specifier-p spec) (return nil))))))
(t (typep form 'class))))
こんな風に判断してた。
■ このスレッドは過去ログ倉庫に格納されています