The simplified-types Reference Manual

This is the simplified-types Reference Manual, generated automatically by Declt version 4.0 beta 2 "William Riker" on Mon Feb 26 17:53:43 2024 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 simplified-types

Simplification of Common Lisp type specifiers.

Author

Marco Heisig <>

License

MIT

Dependencies
  • alexandria (system).
  • introspect-environment (system).
  • trivia (system).
Source

simplified-types.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 simplified-types/simplified-types.asd

Source

simplified-types.asd.

Parent Component

simplified-types (system).

ASDF Systems

simplified-types.


3.1.2 simplified-types/packages.lisp

Source

simplified-types.asd.

Parent Component

simplified-types (system).

Packages

simplified-types.


3.1.4 simplified-types/simplified-type-of.lisp

Dependency

simplified-types.lisp (file).

Source

simplified-types.asd.

Parent Component

simplified-types (system).

Public Interface

simplified-type-of (generic function).

Internals

enable-if-class-exists (macro).


3.1.5 simplified-types/simplify-type.lisp

Dependency

simplified-type-of.lisp (file).

Source

simplified-types.asd.

Parent Component

simplified-types (system).

Public Interface

simplify-type (function).

Internals

4 Packages

Packages are listed by definition order.


4.1 simplified-types

Source

packages.lisp.

Use List

common-lisp.

Public Interface
Internals

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Ordinary functions

Function: simplify-type (type-specifier &optional environment)

Returns a simplified type specifier that is a supertype of TYPE-SPECIFIER.

In particular, for any type specifier TS, the expression
(subtypep TS (simplify-type TS)) will evaluate to either T T, or NIL NIL.

Package

simplified-types.

Source

simplify-type.lisp.


5.1.2 Generic functions

Generic Function: simplified-type-of (object)

Returns a simplified type specifier for a type that has OBJECT as an element.

The expression (simplified-type-of OBJECT) yields exactly the same result as the expression (simplify-type (type-of OBJECT)), but the former is likely to be more efficient.

Package

simplified-types.

Source

simplified-type-of.lisp.

Methods
Method: simplified-type-of ((cons cons))
Method: simplified-type-of ((symbol symbol))
Method: simplified-type-of ((character character))
Method: simplified-type-of ((function function))
Method: simplified-type-of ((complex complex))
Method: simplified-type-of ((double-float double-float))
Method: simplified-type-of ((single-float single-float))
Method: simplified-type-of ((integer integer))
Method: simplified-type-of (object)

5.1.3 Types

Type: simplified-complex-type-specifier ()
Package

simplified-types.

Source

simplified-types.lisp.

Type: simplified-floating-point-type-specifier ()
Package

simplified-types.

Source

simplified-types.lisp.

Type: simplified-integer-type-specifier ()
Package

simplified-types.

Source

simplified-types.lisp.

Type: simplified-number-type-specifier ()
Package

simplified-types.

Source

simplified-types.lisp.

Type: simplified-type-specifier ()
Package

simplified-types.

Source

simplified-types.lisp.


5.2 Internals


5.2.1 Constants

Constant: +complex-double-float-type+
Package

simplified-types.

Source

simplified-types.lisp.

Constant: +complex-long-float-type+
Package

simplified-types.

Source

simplified-types.lisp.

Constant: +complex-short-float-type+
Package

simplified-types.

Source

simplified-types.lisp.

Constant: +complex-single-float-type+
Package

simplified-types.

Source

simplified-types.lisp.

Constant: +double-float-type+
Package

simplified-types.

Source

simplified-types.lisp.

Constant: +long-float-type+
Package

simplified-types.

Source

simplified-types.lisp.

Constant: +short-float-type+
Package

simplified-types.

Source

simplified-types.lisp.

Constant: +single-float-type+
Package

simplified-types.

Source

simplified-types.lisp.


5.2.2 Special variables

Special Variable: *precise-integer-types*

Whether the lower- and upper-limit of simplified integer type specifiers should be as accurate as possible, or whether it is permissible that one or both of them can be upgraded to a wider bound or the symbol *.

When the value of this variable is false, working with simplified types is guaranteed to be non-consing.

Package

simplified-types.

Source

simplified-types.lisp.


5.2.3 Macros

Macro: define-complex-types ()
Package

simplified-types.

Source

simplified-types.lisp.

Macro: define-floating-point-types ()
Package

simplified-types.

Source

simplified-types.lisp.

Macro: enable-if-class-exists (class &body body)
Package

simplified-types.

Source

simplified-type-of.lisp.


5.2.4 Compiler macros

Compiler Macro: make-integer-type (lower-limit upper-limit)
Package

simplified-types.

Source

simplified-types.lisp.


5.2.5 Ordinary functions

Function: make-integer-type (lower-limit upper-limit)
Package

simplified-types.

Source

simplified-types.lisp.

Function: simplified-type-conjunction (t1 t2)
Package

simplified-types.

Source

simplify-type.lisp.

Function: simplified-type-disjunction (t1 t2)
Package

simplified-types.

Source

simplify-type.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   C   D   E   F   G   M   S  
Index Entry  Section

C
Compiler Macro, make-integer-type: Private compiler macros

D
define-complex-types: Private macros
define-floating-point-types: Private macros

E
enable-if-class-exists: Private macros

F
Function, make-integer-type: Private ordinary functions
Function, simplified-type-conjunction: Private ordinary functions
Function, simplified-type-disjunction: Private ordinary functions
Function, simplify-type: Public ordinary functions

G
Generic Function, simplified-type-of: Public generic functions

M
Macro, define-complex-types: Private macros
Macro, define-floating-point-types: Private macros
Macro, enable-if-class-exists: Private macros
make-integer-type: Private compiler macros
make-integer-type: Private ordinary functions
Method, simplified-type-of: Public generic functions
Method, simplified-type-of: Public generic functions
Method, simplified-type-of: Public generic functions
Method, simplified-type-of: Public generic functions
Method, simplified-type-of: Public generic functions
Method, simplified-type-of: Public generic functions
Method, simplified-type-of: Public generic functions
Method, simplified-type-of: Public generic functions
Method, simplified-type-of: Public generic functions

S
simplified-type-conjunction: Private ordinary functions
simplified-type-disjunction: Private ordinary functions
simplified-type-of: Public generic functions
simplified-type-of: Public generic functions
simplified-type-of: Public generic functions
simplified-type-of: Public generic functions
simplified-type-of: Public generic functions
simplified-type-of: Public generic functions
simplified-type-of: Public generic functions
simplified-type-of: Public generic functions
simplified-type-of: Public generic functions
simplified-type-of: Public generic functions
simplify-type: Public ordinary functions


A.4 Data types

Jump to:   F   P   S   T  
Index Entry  Section

F
File, packages.lisp: The simplified-types/packages․lisp file
File, simplified-type-of.lisp: The simplified-types/simplified-type-of․lisp file
File, simplified-types.asd: The simplified-types/simplified-types․asd file
File, simplified-types.lisp: The simplified-types/simplified-types․lisp file
File, simplify-type.lisp: The simplified-types/simplify-type․lisp file

P
Package, simplified-types: The simplified-types package
packages.lisp: The simplified-types/packages․lisp file

S
simplified-complex-type-specifier: Public types
simplified-floating-point-type-specifier: Public types
simplified-integer-type-specifier: Public types
simplified-number-type-specifier: Public types
simplified-type-of.lisp: The simplified-types/simplified-type-of․lisp file
simplified-type-specifier: Public types
simplified-types: The simplified-types system
simplified-types: The simplified-types package
simplified-types.asd: The simplified-types/simplified-types․asd file
simplified-types.lisp: The simplified-types/simplified-types․lisp file
simplify-type.lisp: The simplified-types/simplify-type․lisp file
System, simplified-types: The simplified-types system

T
Type, simplified-complex-type-specifier: Public types
Type, simplified-floating-point-type-specifier: Public types
Type, simplified-integer-type-specifier: Public types
Type, simplified-number-type-specifier: Public types
Type, simplified-type-specifier: Public types