| Allegro CL version 10.1 The object described on this page has been modified in the 10.1 release; see the Release Notes. 10.0 version | ||||||||||
Arguments: type function &key re-expand
This function is called for its side effects. The return value has no meaning. This function tells the compiler that a typep form:
(typep x 'type)
can be transformed, when re-expand
is nil, into the form:
(funcall function x)
When re-expand is true and when the function argument is a symbol naming a function (and not a function object or a function spec list that names a function), the form can be transformed into:
(function x)
The transformation when re-expand is true allows a compiler-macro for function, if there is one, to be expanded, possibly thus allowing for further inlining of the user's code.
The compiler will make the transformation where possible.
type must be a type, typically defined by the
user with deftype.
function should be a function object, a
function spec list
naming a function, or a symbol naming a function. That
function must accept any Lisp object as a single argument and
return nil if the object is not of
type type, true if it is of
type type (that is, the function must be a
predicate). remove-typep-transformer removes the
transform.
See compiling.htm for general information on compiling and see Adding typep-transformers in that document for more information on typep transforms.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.
| Allegro CL version 10.1 The object described on this page has been modified in the 10.1 release; see the Release Notes. 10.0 version | ||||||||||