;; ;; Type testing. ;; ;; Boolean. (print "(boolean? true) -> ") (boolean? true) (print "(boolean? false) -> ") (boolean? false) (print "(boolean? 1) -> ") (boolean? 1) (print "(boolean? 5) -> ") (boolean? 5) (print "(boolean? \"string\") -> ") (boolean? "string") (print "(boolean? (+ 1 2 3)) -> ") (boolean? (+ 1 2 3)) (print "(boolean? (not 1)) -> ") (boolean? (not 1)) ;; Empty list/null. (print "(nil? true) -> ") (nil? true) (print "(nil? false) -> ") (nil? false) (print "(nil? 1) -> ") (nil? 1) (print "(nil? 5) -> ") (nil? 5) (print "(nil? \"string\") -> ") (nil? "string") (print "(nil? (+ 1 2 3)) -> ") (nil? (+ 1 2 3)) (print "(nil? (not 1)) -> ") (nil? (not 1)) (print "(nil? ()) -> ") (nil? ()) ;; String. (print "(string? true) -> ") (string? true) (print "(string? false) -> ") (string? false) (print "(string? 1) -> ") (string? 1) (print "(string? 5) -> ") (string? 5) (print "(string? \"string\") -> ") (string? "string") (print "(string? (+ 1 2 3)) -> ") (string? (+ 1 2 3)) (print "(string? (not 1)) -> ") (string? (not 1)) ;; Fixnum. (print "(fixnum? true) -> ") (fixnum? true) (print "(fixnum? false) -> ") (fixnum? false) (print "(fixnum? 1) -> ") (fixnum? 1) (print "(fixnum? 5) -> ") (fixnum? 5) (print "(fixnum? \"string\") -> ") (fixnum? "string") (print "(fixnum? (+ 1 2 3)) -> ") (fixnum? (+ 1 2 3)) (print "(fixnum? (not 1)) -> ") (fixnum? (not 1)) ;; Symbol. (print "(symbol? true) -> ") (symbol? true) (print "(symbol? false) -> ") (symbol? false) (print "(symbol? 1) -> ") (symbol? 1) (print "(symbol? +) -> ") (symbol? +) (print "(symbol? \"string\") -> ") (symbol? "string") (print "(symbol? (+ 1 2 3)) -> ") (symbol? (+ 1 2 3)) (print "(symbol? (not 1)) -> ") (symbol? (not 1)) (print "(symbol? 'a) -> ") (symbol? 'a) (print "(symbol? 'c) -> ") (symbol? 'c) ;; Pair. (print "(pair? false) -> ") (pair? false) (print "(pair? 1) -> ") (pair? 1) (print "(pair? 5) -> ") (pair? 5) (print "(pair? \"string\") -> ") (pair? "string") (print "(pair? (+ 1 2 3)) -> ") (pair? (+ 1 2 3)) (print "(pair? (not 1)) -> ") (pair? (not 1)) (print "(pair? (cons 1 2)) -> ") (pair? (cons 1 2)) (print "(pair? (list 1 2 3)) -> ") (pair? (list 1 2 3)) ; ;; Procedure. (print "(procedure? false) -> ") (procedure? false) (print "(procedure? 1) -> ") (procedure? 1) (print "(procedure? 5) -> ") (procedure? 5) (print "(procedure? \"string\") -> ") (procedure? "string") (print "(procedure? (+ 1 2 3)) -> ") (procedure? (+ 1 2 3)) (print "(procedure? (not 1)) -> ") (procedure? (not 1)) (print "(procedure? +) -> ") (procedure? +) (print "(procedure? -) -> ") (procedure? -) (print "(procedure? procedure?) -> ") (procedure? procedure?)