;; 型を確認する (typep 27 'integer) ;; -> T (typep 27 'string) ;; -> NIL ;; make pair list ;; 両方のリストの長さが一緒じゃなきゃいけない (pairlis '(a b) '(111 112)) ;; -> ((B . 112) (A . 111)) ;; consp <=> atom ;; atom is (not (consp x)) (consp '(1 2)) ;; -> T (consp '(a . 1)) ;; -> T (consp 1) ;; -> NIL ;; NIL がアトムであり、かつ、リストであることに注意 (defun our-listp (x) (or (null x) (consp x)) (defun our-atom (x) (not (consp x))) ;; ただし、単体の NIL はリストではあるがコンスされてないので (consp nil) ;; -> NIL