first class module

<programming>

A module that is a first class data object of the programming language, e.g. a record containing functions. In a functional language, it is standard to have first class programs, so program building blocks can have the same status.

Claus Reinke's Virtual Bookshelf.

Last updated: 2004-01-26

first fit

<algorithm>

A resource allocation scheme that searches a list of free resources and returns the first one that can satisfy the request.

For example, when allocating memory from a list of free blocks (a heap), first fit scans the list from the beginning until it finds a block which is big enough to satisfy the request. The requested size is allocated from this block and the rest of the block returned to the free pool.

First fit is faster than a best fit scheme, but results in more fragmentation of the free space because it is more likely to split up a large free block when a smaller block could have been used.

Last updated: 2015-01-31

first generation

<architecture>

1. first generation computer.

<language>

2. first generation language.

first generation computer

<architecture>

A prototype computer based on vacuum tubes and other esoteric technologies. Chronologically, any computer designed before the mid-1950s. Examples include Howard Aiken's Mark 1 (1944), Maunchly and Eckert's ENIAC (1946), and the IAS computer.

Last updated: 1996-11-22

first generation language

Raw machine code. When computers were first "programmed" from an input device, rather than by being rewired, they were fed input in the form of numbers, which they then interpreted as commands. This was really low level, and a program fragment might look like "010307 010307". Almost no one programs in machine language anymore, because translators are nearly trivial to write.

Last updated: 1994-12-01

first-in first-out

<algorithm>

(FIFO, or "queue") A data structure or hardware buffer from which items are taken out in the same order they were put in. Also known as a "shelf" from the analogy with pushing items onto one end of a shelf so that they fall off the other. A FIFO is useful for buffering a stream of data between a sender and receiver which are not synchronised - i.e. not sending and receiving at exactly the same rate. Obviously if the rates differ by too much in one direction for too long then the FIFO will become either full (blocking the sender) or empty (blocking the receiver). A Unix pipe is a common example of a FIFO.

A FIFO might be (but isn't ever?) called a LILO - last-in last-out. The opposite of a FIFO is a LIFO (last-in first-out) or "stack".

Last updated: 1999-12-06

first normal form

database normalisation

first-order

Not higher-order.

Last updated: 1995-03-06

first-order logic

<language, logic>

The language describing the truth of mathematical formulas. Formulas describe properties of terms and have a truth value. The following are atomic formulas:

 True
 False
 p(t1,..tn)	where t1,..,tn are terms and p is a predicate.

If F1, F2 and F3 are formulas and v is a variable then the following are compound formulas:

 F1 ^ F2	conjunction - true if both F1 and F2 are true,

 F1 V F2	disjunction - true if either or both are true,

 F1 => F2	implication - true if F1 is false or F2 is
 	true, F1 is the antecedent, F2 is the
 	consequent (sometimes written with a thin
 	arrow),

 F1 <= F2	true if F1 is true or F2 is false,

 F1 == F2	true if F1 and F2 are both true or both false
 	(normally written with a three line
 	equivalence symbol)

 ~F1	 negation - true if f1 is false (normally
 	written as a dash '-' with a shorter vertical
 	line hanging from its right hand end).

 For all v . F	universal quantification - true if F is true
 	for all values of v (normally written with an
 	inverted A).

 Exists v . F	existential quantification - true if there
 	exists some value of v for which F is true.
 	(Normally written with a reversed E).

The operators ^ V => <= == ~ are called connectives. "For all" and "Exists" are quantifiers whose scope is F. A term is a mathematical expression involving numbers, operators, functions and variables.

The "order" of a logic specifies what entities "For all" and "Exists" may quantify over. First-order logic can only quantify over sets of atomic propositions. (E.g. For all p . p => p). Second-order logic can quantify over functions on propositions, and higher-order logic can quantify over any type of entity. The sets over which quantifiers operate are usually implicit but can be deduced from well-formedness constraints.

In first-order logic quantifiers always range over ALL the elements of the domain of discourse. By contrast, second-order logic allows one to quantify over subsets.

["The Realm of First-Order Logic", Jon Barwise, Handbook of Mathematical Logic (Barwise, ed., North Holland, NYC, 1977)].

Last updated: 2005-12-27

First Party DMA

bus mastering

Nearby terms:

Firmwarefirmyfirst class modulefirst fitfirst generation

Try this search on Wikipedia, Wiktionary, Google, OneLook.



Loading