# New Types

Envision supports a range of new types. Each type has a
type-verification predicate with the obvious name. For example, the
function point? returns true exactly when its input is a point.

### Types associated with sheets

These types are explained more fully in other sections of this manual.

- sheet
- manifold
- integer-grid
- real-grid

- sample
- manifold-sample
- real-grid-sample
- integer-grid-sample

- scanner
- storage-group

### Types for geometrical objects

Points are used heavily for accessing sheets. The other geometrical
objects are used to implement basic graphics: the effect of many Xlib
functions is achieved by calling the function draw on an object of the
appropriate type. (Notice that other Xlib functionality is
implemented by combining draw with 1D and 2D sheets.)
Furthermore, these objects are heavily used in computer vision
algorithms.

- point
- line-segment
- polygon
- ellipse

Notice that a 1D real-point is the same as a real number, and
similarly for integers.

### Types for I/O channels

- binary-port
- binary-input-port
- binary-output-port

- window

### Missing values

When a boolean, numerical, point, or sample value is unavailable, a
special class of object called a "missing value" is returned. The
predicate missing? returns true on these objects, and no other type
predicate returns true on them.

Ownership, Maintenance and Disclaimers

Manual Top Page

Last modified