This is the trivial-types Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Tue Jul 15 06:56:50 2025 GMT+0.
trivial-types/trivial-types.asdtrivial-types/src/package.lisptrivial-types/src/specials.lisptrivial-types/src/lists.lisptrivial-types/src/designators.lisptrivial-types/src/streams.lisptrivial-types/src/combinators.lisptrivial-types/src/typespecs.lispThe main system appears first, followed by any subsystem dependency.
trivial-typesTrivial type definitions
Tomohiro Matsuyama
LLGPL
TRIVIAL-TYPES provides missing but important type
definitions such as PROPER-LIST, ASSOCIATION-LIST, PROPERTY-LIST and
TUPLE.
By using these types, you can keep type declarations more
accurate. For example, you may write a class definition like:
(defclass person ()
((name :type string))
((age :type fixnum))
((friends :type list)))
However, it is not obvious for anyone except you that FRIENDS slot has
only a list of person. If you want declare FRIENDS slot more
accurately, PROPER-LIST is the best for that:
(defclass person ()
((name :type string))
((age :type fixnum))
((friends :type (proper-list person))))
In addition, TRIVIAL-TYPES also provides standard designators defined
in ANSI standard such as PACKAGE-DESIGNATOR. They are useful when you
write a function that takes a package-oid argument like:
(defun list-external-symbols (package)
(declare (package-designator package))
(loop for symbol being the external-symbol of package
collect symbol))
0.1
src (module).
Modules are listed depth-first from the system components tree.
trivial-types/srctrivial-types (system).
package.lisp (file).
specials.lisp (file).
lists.lisp (file).
designators.lisp (file).
streams.lisp (file).
combinators.lisp (file).
typespecs.lisp (file).
Files are sorted by type and then listed depth-first from the systems components trees.
trivial-types/trivial-types.asdtrivial-types/src/package.lisptrivial-types/src/specials.lisptrivial-types/src/lists.lisptrivial-types/src/designators.lisptrivial-types/src/streams.lisptrivial-types/src/combinators.lisptrivial-types/src/typespecs.lisptrivial-types/trivial-types.asdtrivial-types (system).
trivial-types/src/specials.lisppackage.lisp (file).
src (module).
*standard-optimize-qualities* (special variable).
trivial-types/src/lists.lispspecials.lisp (file).
src (module).
association-list (type).
association-list-p (function).
proper-list (type).
proper-list-p (function).
property-list (type).
property-list-p (function).
tuple (function).
tuple (type).
tuplep (function).
%proper-list-p (macro).
trivial-types/src/designators.lisplists.lisp (file).
src (module).
character-designator (type).
file-position-designator (type).
function-designator (type).
list-designator (type).
package-designator (type).
pathname-designator (type).
stream-designator (type).
string-designator (type).
trivial-types/src/streams.lispdesignators.lisp (file).
src (module).
file-associated-stream (type).
file-associated-stream-p (function).
trivial-types/src/combinators.lispstreams.lisp (file).
src (module).
non-nil (type).
trivial-types/src/typespecs.lispcombinators.lisp (file).
src (module).
type-expand (function).
type-specifier-p (function).
Packages are listed by definition order.
trivial-typescommon-lisp.
association-list (type).
association-list-p (function).
character-designator (type).
file-associated-stream (type).
file-associated-stream-p (function).
file-position-designator (type).
function-designator (type).
list-designator (type).
non-nil (type).
package-designator (type).
pathname-designator (type).
proper-list (type).
proper-list-p (function).
property-list (type).
property-list-p (function).
stream-designator (type).
string-designator (type).
tuple (function).
tuple (type).
tuplep (function).
type-expand (function).
type-specifier-p (function).
%proper-list-p (macro).
*standard-optimize-qualities* (special variable).
Definitions are sorted by export status, category, package, and then by lexicographic order.
Returns true if OBJECT is an association list.
Examples:
(association-list-p 1) => NIL (association-list-p ’(1 2 3)) => NIL (association-list-p nil) => T (association-list-p ’((foo))) => T (association-list-p ’((:a . 1) (:b . 2))) => T
Returns true if STREAM is a stream associated to a file.
Returns true if OBJECT is a proper list.
Examples:
(proper-list-p 1) => NIL (proper-list-p ’(1 . 2)) => NIL (proper-list-p nil) => T (proper-list-p ’(1 2 3)) => T
Returns true if OBJECT is a property list.
Examples:
(property-list-p 1) => NIL (property-list-p ’(1 2 3)) => NIL (property-list-p ’(foo)) => NIL (property-list-p nil) => T (property-list-p ’(foo 1)) => T (property-list-p ’(:a 1 :b 2)) => T
Exactly same as LIST.
Returns true if OBJECT is a tuple, meaning a proper list.
Examples:
(tuplep 1) => NIL
(tuplep ’(1 . 2)) => NIL
(tuplep nil) => T
(tuplep ’(1 2 3)) => T
Expand TYPE-SPECIFIER in the lexical environment ENV.
Returns true if TYPE-SPECIFIER is a valid type specfiier.
Equivalent to ‘(proper-list (cons KEY-TYPE VALUE-TYPE))‘. KEY-TYPE
and VALUE-TYPE are just ignored.
Examples:
(typep ’((:a . 1) (:b . 2)) ’(association-list integer)) => T (typep ’((:a . 1) (:b . 2)) ’(association-list string)) => T
Equivalent to ‘(and stream (satisfies file-associated-stream-p))‘.
Equivalent to ‘(and (not null) TYPE)‘ if TYPE is given,
otherwise ‘(not null)‘.
Examples:
(typep nil ’(non-nil symbol)) => NIL
Equivalent to ‘(and list (satisfies proper-list-p))‘. ELEMENT-TYPE
is just ignored.
Examples:
(typep ’(1 2 3) ’(proper-list integer)) => T
(typep ’(1 2 3) ’(proper-list string)) => T
Equivalent to ‘(and list (satisfies
property-list-p))‘. VALUE-TYPE is just ignored.
Examples:
(typep ’(:a 1 :b 2) ’(property-list integer)) => T (typep ’(:a 1 :b 2) ’(property-list string)) => T
Equivalent to ‘(and list (cons ARG1 (cons ARG2 (cons ARG3 ...))))‘
where ARGn is each element of ELEMENT-TYPES.
Examples:
(typep 1 ’tuple) => NIL
(typep ’(1 . 2) ’tuple) => NIL
(typep ’(1 2 3) ’tuple) => NIL
(typep ’(1 2 3) ’(tuple integer integer)) => NIL
(typep ’(1 2 3) ’(tuple string integer integer)) => NIL
(typep nil ’tuple) => T
(typep nil ’(tuple)) => T
(typep ’(1 2 3) ’(tuple integer integer integer)) => T
| Jump to: | %
A F M P T |
|---|
| Jump to: | %
A F M P T |
|---|
| Jump to: | *
S |
|---|
| Index Entry | Section | ||
|---|---|---|---|
| | |||
| * | |||
*standard-optimize-qualities*: | Private special variables | ||
| | |||
| S | |||
Special Variable, *standard-optimize-qualities*: | Private special variables | ||
| | |||
| Jump to: | *
S |
|---|
| Jump to: | A C D F L M N P S T |
|---|
| Jump to: | A C D F L M N P S T |
|---|