## constant angular velocity

<storage>

(CAV) One of the two schemes for controlling the rate of rotation of the disk in a disk drive. Constant angular velocity keeps the rate of rotation constant. This means that the linear velocity of the disk under the head is larger when reading or writing the outer tracks. This in turn implies either a variation in the data rate to and from the heads or the bits per unit length along the track.

The alternative, constant linear velocity, requires the rate of rotation of the disk to accelerate and decelerate according to the radial postion of the heads, increasing the energy use and vibration.

Last updated: 2014-07-16

### Nearby terms:

Try this search on Wikipedia, OneLook, Google

## constant applicative form

(CAF) A supercombinator which is not a lambda abstraction. This includes truly constant expressions such as 12, (+ 1 2), [1, 2, 3] as well as partially applied functions such as (+ 4). Note that this last example is equivalent under eta abstraction to \ x . + 4 x which is not a CAF.

Since a CAF is a supercombinator, it contains no free variables. Moreover, since it is not a lambda abstraction it contains no variables at all. It may however contain identifiers which refer to other CAFs, e.g.

```	c 3 where c = (* 2).

```
A CAF can always be lifted to the top level of the program. It can either be compiled to a piece of graph which will be shared by all uses or to some shared code which will overwrite itself with some graph the first time it is evaluated. A CAF such as

```	ints = from 1  where  from n = n : from (n+1)

```
can grow without bound but may only be accessible from within the code of one or more functions. In order for the garbage collector to be able to reclaim such structures, we associate with each function a list of the CAFs to which it refers. When garbage collecting a reference to the function we collect the CAFs on its list.

Last updated: 2006-10-12

### Nearby terms:

Try this search on Wikipedia, OneLook, Google

## constant folding

<compiler>

A compiler optimisation technique where constant subexpressions are evaluated at compile time. This is usually only applied to built-in numerical and boolean operators whereas partial evaluation is more general in that expressions involving user-defined functions may also be evaluated at compile time.

Last updated: 1997-02-20

### Nearby terms:

Try this search on Wikipedia, OneLook, Google

## Constantine/Yourdon

### Nearby terms:

Try this search on Wikipedia, OneLook, Google

## constant linear velocity

<storage>

(CLV) A way of controlling the rotation of the disks in a disk drive in which the linear velocity of the disk surface relative to the read/write heads is kept constant.

In order to achieve constant linear velocity, the disk must rotate faster (at a higher angular velocity) when reading or writing tracks closer to the centre.

Having a constant linear read/write speed along the track means that the electrical signal to and from the heads has a constant data rate (bits per second), thus simplifying the timing of the drive electronics somewhat. However, rotating at less than the maximum possible rate sacrifices some potential performance compared to the alternative, constant angular velocity. Also, varying the rate causes more vibration and consumes more energy.

Last updated: 2014-07-27

### Nearby terms:

Try this search on Wikipedia, OneLook, Google

## constant mapping

A precursor to ARP used by some TCP software in which the destination Ethernet address is constructed from the top 24 bits of the source Ethernet address followed by the low 24 bits of the (class A) destination Internet address. For this scheme the top 24 bits of the Ethernet address must be the same on all hosts on the network.

Last updated: 2014-08-06

### Nearby terms:

Try this search on Wikipedia, OneLook, Google