## 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.