## Declarations

### Overview

Declarations are used to give the compiler optimizing information about foreign types. Currently, only &CMUCL; supports declarations. On &ACL; and &LW;, these expressions declare the type generically as &t;

def-type

Defines a Common Lisp type.

Macro

### Syntax

         def-type name type

`name`

- A symbol naming the type

`type`

- A form that specifies the &UFFI; type. It is not evaluated.

#### Description

Defines a Common Lisp type based on a &UFFI; type.

#### Examples

    (def-type char-ptr '(* :char))
       ...
    (defun foo (ptr)
      (declare (type char-ptr ptr))
       ...

#### Side Effects

Defines a new &CommonLisp; type.

#### Affected by

None.

#### Exceptional Situations

None.