ExLisp. Type
(exlisp v0.1.2)
Copy Markdown
ANSI Common Lisp Type System implementation for ExLisp.
Supports primitive types, compound type specifiers, deftype user-defined types,
typep, subtypep, and type expansion.
Summary
Functions
Registers a deftype with an AST expansion or macro-like transformer.
Ensures the ETS table for deftype is created.
Expands a type specifier if it is a user-defined deftype. Recursively expands up to max_depth.
Registers a deftype definition.
lambda_list is a list of parameters, and expander_fun is a function fn args -> expanded_typespec end.
Determines if type1 is a subtype of type2.
Returns [:_values_, [is_sub_bool, is_known_bool]].
Determines if val is of type type_spec.
Upgrades an array element type.
Upgrades a complex part type.
Functions
Registers a deftype with an AST expansion or macro-like transformer.
Ensures the ETS table for deftype is created.
Expands a type specifier if it is a user-defined deftype. Recursively expands up to max_depth.
Registers a deftype definition.
lambda_list is a list of parameters, and expander_fun is a function fn args -> expanded_typespec end.
Determines if type1 is a subtype of type2.
Returns [:_values_, [is_sub_bool, is_known_bool]].
Determines if val is of type type_spec.
Upgrades an array element type.
Upgrades a complex part type.