The type-i Reference Manual

This is the type-i Reference Manual, version 0.1, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sat Dec 03 23:35:49 2022 GMT+0.

Table of Contents


1 Introduction


2 Systems

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


2.1 type-i

Type Inference Utility on Fundamentally 1-arg Predicates

Author

Masataro Asai

Contact

License

LLGPL

Version

0.1

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

type-i.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 type-i/type-i.asd

Source

type-i.asd.

Parent Component

type-i (system).

ASDF Systems

type-i.


3.1.2 type-i/package.lisp

Source

type-i.asd.

Parent Component

type-i (system).

Packages

type-i.

Public Interface
Internals

3.1.3 type-i/infer-typep.lisp

Dependency

package.lisp (file).

Source

type-i.asd.

Parent Component

type-i (system).

Internals

3.1.4 type-i/infer-unary.lisp

Dependency

infer-typep.lisp (file).

Source

type-i.asd.

Parent Component

type-i (system).

Internals

typep-form (function).


3.1.5 type-i/infer-derived.lisp

Dependency

infer-unary.lisp (file).

Source

type-i.asd.

Parent Component

type-i (system).


3.1.6 type-i/infer-constants.lisp

Dependency

infer-derived.lisp (file).

Source

type-i.asd.

Parent Component

type-i (system).

Internals

+null-tests+ (special variable).


3.1.7 type-i/infer-compound.lisp

Dependency

infer-constants.lisp (file).

Source

type-i.asd.

Parent Component

type-i (system).


3.1.8 type-i/infer-numbers.lisp

Dependency

infer-compound.lisp (file).

Source

type-i.asd.

Parent Component

type-i (system).


4 Packages

Packages are listed by definition order.


4.1 type-i

Source

package.lisp.

Use List
  • alexandria.
  • common-lisp.
  • introspect-environment.
  • trivia.level2.
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 Macros

Macro: define-inference-rule (name args &body body)
Package

type-i.

Source

package.lisp.


5.1.2 Ordinary functions

Function: ? (symbol test)

substitute symbol with ’?, canonicalizing the test form amenable for comparison

Package

type-i.

Source

package.lisp.

Function: test-type (test &optional verbose)

infer the type which the given test form is trying to test against.
If the values are NIL,T , it means the type is definitely NIL.
If the values are NIL,NIL , it means the type is not successfully inferred.

Package

type-i.

Source

package.lisp.

Function: type-tests (type &optional verbose)
Package

type-i.

Source

package.lisp.


5.2 Internals


5.2.1 Special variables

Special Variable: *compound-infer-level*
Package

type-i.

Source

infer-typep.lisp.

Special Variable: *inference-rules-doc-table*
Package

type-i.

Source

package.lisp.

Special Variable: *inference-rules-table*
Package

type-i.

Source

package.lisp.

Special Variable: *max-compound-type-arguments*
Package

type-i.

Source

infer-typep.lisp.

Special Variable: +null-tests+
Package

type-i.

Source

infer-constants.lisp.


5.2.2 Macros

Macro: inference-rules-let (bindings &body body)
Package

type-i.

Source

package.lisp.


5.2.3 Ordinary functions

Function: all-compound-types (compound &optional *compound-infer-level*)
Package

type-i.

Source

infer-typep.lisp.

Function: inference-rules-boundp (symbol)

Automatically defined boolean function.

Package

type-i.

Source

package.lisp.

Function: predicate-p (type)
Package

type-i.

Source

infer-typep.lisp.

Function: predicate-p-function (type)
Package

type-i.

Source

infer-typep.lisp.

Function: predicatep (type)
Package

type-i.

Source

infer-typep.lisp.

Function: predicatep-function (type)
Package

type-i.

Source

infer-typep.lisp.

Function: symbol-inference-rules (symbol &optional default)

Automatically defined getter function. When DEFAULT is supplied, the value is set automatically.

Package

type-i.

Source

package.lisp.

Function: (setf symbol-inference-rules) (symbol)

Automatically defined setter function.

Package

type-i.

Source

package.lisp.

Function: typep-form (typesym)
Package

type-i.

Source

infer-unary.lisp.

Function: valid-type-specifier-p (object)
Package

type-i.

Source

infer-typep.lisp.


5.2.4 Conditions

Condition: unbound-inference-rules
Package

type-i.

Source

package.lisp.

Direct superclasses

unbound-variable.


5.2.5 Types

Type: inference-rules-type ()
Package

type-i.

Source

package.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (   ?  
A   D   F   I   M   P   S   T   V  
Index Entry  Section

(
(setf symbol-inference-rules): Private ordinary functions

?
?: Public ordinary functions

A
all-compound-types: Private ordinary functions

D
define-inference-rule: Public macros

F
Function, (setf symbol-inference-rules): Private ordinary functions
Function, ?: Public ordinary functions
Function, all-compound-types: Private ordinary functions
Function, inference-rules-boundp: Private ordinary functions
Function, predicate-p: Private ordinary functions
Function, predicate-p-function: Private ordinary functions
Function, predicatep: Private ordinary functions
Function, predicatep-function: Private ordinary functions
Function, symbol-inference-rules: Private ordinary functions
Function, test-type: Public ordinary functions
Function, type-tests: Public ordinary functions
Function, typep-form: Private ordinary functions
Function, valid-type-specifier-p: Private ordinary functions

I
inference-rules-boundp: Private ordinary functions
inference-rules-let: Private macros

M
Macro, define-inference-rule: Public macros
Macro, inference-rules-let: Private macros

P
predicate-p: Private ordinary functions
predicate-p-function: Private ordinary functions
predicatep: Private ordinary functions
predicatep-function: Private ordinary functions

S
symbol-inference-rules: Private ordinary functions

T
test-type: Public ordinary functions
type-tests: Public ordinary functions
typep-form: Private ordinary functions

V
valid-type-specifier-p: Private ordinary functions