6
A
回答
5
我只想unintern
派生類型說明符:
T1> (deftype foo() 'fixnum)
FOO
T1> (let ((bar 1))
(check-type bar foo))
NIL
T1> (unintern 'foo)
T
T1> (let ((bar 1))
(check-type bar foo))
Unknown type specifier: FOO
[Condition of type SIMPLE-ERROR]
另外,如果你是真的關心刪除類型的每一絲出於某種原因,你總是可以編寫實現相關的代碼實現它,即使這些功能沒有在標準中提及。例如,在CCL(未經測試,我只是脫脂相關的代碼):
(defun delete-type (derived-type-specifier)
(ccl::clear-type-cache)
(remhash derived-type-specifier ccl::%deftype-expanders%)
(setf (documentation derived-type-specifier 'type) nil))
在這裏,我們去:
T1> (deftype foo() "frob" 'fixnum)
FOO
T1> (documentation 'foo 'type)
"frob"
T1> (let ((bar 1))
(check-type bar foo))
NIL
T1> (delete-type 'foo)
NIL
T1> (documentation 'foo 'type)
NIL
T1> (let ((bar 1))
(check-type bar foo))
Unknown type specifier: FOO
[Condition of type SIMPLE-ERROR]
相關問題
- 1. Common Lisp類型說明符
- 2. Common Lisp中豐富的類型編程?
- 3. Common Lisp的類型與等級差別
- 4. Common Lisp中
- 5. 與Common Lisp中
- 6. 的#ifndef Common Lisp中
- 7. Common Lisp a Lisp-n?
- 8. Common Lisp中的整數除法?
- 9. Common Lisp替代使用類
- 10. Common Lisp類層次結構
- 11. 關於Common Lisp中
- 12. 規則Common Lisp中
- 13. 如果Common Lisp中
- 14. 如何Common Lisp中
- 15. 替換Common Lisp中
- 16. Common lisp:通過setq和assoc在alist中刪除一對
- 17. Common Lisp的Clojure中的PROGV
- 18. Common Lisp流?
- 19. Step Eval Common Lisp
- 20. 「unfold」for common lisp?
- 21. Predicates Common Lisp
- 22. Common Lisp SublimeREPL
- 23. Common Lisp Binary Tree
- 24. Scheme或Common Lisp?
- 25. common lisp和emacs
- 26. Common Lisp Loop Trouble
- 27. Common Lisp Timer
- 28. Scheme vs Common Lisp
- 29. Common Lisp中的繪圖樹
- 30. Common Lisp中的Stackoverflow Mergesort