# 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

### Arguments and Values

`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 &cl; type.

### Affected by

None.

### Exceptional Situations

None.