EDP Dictionary - CC
<language> A programming language designed by {Dennis Ritchie}
at {AT&T} {Bell Labs} ca. 1972 for systems programming on the
{PDP-11} and immediately used to reimplement {Unix}.
It was called "C" because many features derived from an
earlier compiler named "{B}". In fact, C was briefly named
"NB". B was itself strongly influenced by {BCPL}. Before
{Bjarne Stroustrup} settled the question by designing {C++},
there was a humorous debate over whether C's successor should
be named "D" or "P" (following B and C in "BCPL").
C is terse, low-level and permissive. It has a {macro
preprocessor}, {cpp}.
Partly due to its distribution with {Unix}, C became immensely
popular outside {Bell Labs} after about 1980 and is now the
dominant language in systems and {microcomputer} applications
programming. It has grown popular due to its simplicity,
efficiency, and flexibility. C programs are often easily
adapted to new environments.
C is often described, with a mixture of fondness and disdain,
as "a language that combines all the elegance and power of
{assembly language} with all the readability and
maintainability of assembly language".
Ritchie's original C, known as {K&R C} after Kernighan and
Ritchie's book, has been {standard}ised (and simultaneously
modified) as {ANSI C}.
See also {ACCU}, {ae}, {c68}, {c386}, {C-Interp}, {cxref},
{dbx}, {dsp56k-gcc}, {dsp56165-gcc}, {gc}, {GCT}, {GNU C},
{GNU superoptimiser}, {Harvest C}, {malloc}, {mpl},
{Pthreads}, {ups}.
(01 Jun 1996)
(c)
An {ASCII} rendition of the encircled "c" {copyright} symbol.
Unfortunately, this rendition is not legally valid, the circle
must be complete. The word "copyright" in full is perfectly
adequate though.
(In {LaTeX} the copyright symbol is written as \copyright).
(03 Feb 1995)
C*
An {object-oriented}, {data-parallel} superset of {ANSI C}
with synchronous semantics for the {Connection Machine},
designed by {Thinking Machines}, 1987. C* adds a "domain"
data type and a selection statement for parallel execution in
domains. The current version is 6.x.
E-mail: <customer-support@think.com>,
<documentation-order@think.com>.
["C*: An Extended C Language for Data Parallel Programming",
J.R. Rose et al, Proc Second Intl Conf on Supercomputing,
L.P. Kartashev et al eds, May 1987, pp.2-16].
["C* Programming Manual", Thinking Machines Corp, 1986].
C++
<language> One of the most used {object-oriented} languages, a
superset of {C} developed primarily by Bjarne Stroustrup
<bs@alice.att.com> at {AT&T} {Bell Laboratories} in 1986.
In C++ a {class} is a user-defined type, syntactically a
struct with {member function}s. {Constructor}s and
{destructor}s are member functions called to create or destroy
{instance}s. A {friend} is a nonmember function that is
allowed to access the private portion of a class. C++ allows
{implicit type conversion}, {function inlining}, {overloading}
of operators and function names, and {default function
argument}s. It has {stream}s for I/O and references.
C++ 2.0 (May 1989) introduced {multiple inheritance},
type-safe linkage, pointers to members, and {abstract
classes}.
C++ 2.1 was introduced in ["Annotated C++ Reference Manual",
B. Stroustrup et al, A-W 1990].
{MS-DOS
(ftp://grape.ecs.clarkson.edu/pub/msdos/djgpp/djgpp.zip)},
{Unix ANSI C++
(ftp://prep.ai.mit.edu/pub/gnu/g++-1.39.0.tar.Z)} - X3J16
committee. (They're workin' on it).
See also {cfront}, {LEDA}, {uC++}.
{Usenet} newsgroup: {news:comp.lang.c++}.
["The C++ Programming Language", Bjarne Stroustrup, A-W,
1986].
(06 Jun 1996)
C+@
(Formerly Calico). An {object-oriented language} from {Bell
Laboratories} which uniformly represents all data as a pointer
to a self-described object. C+@ provides {multiple
inheritance} with {delegation} and with control over which
{method}s come from which delegated object; and {default
methodologies}. It has a simple {syntax} with emphasis on
graphics. It was originally used for prototyping of
telecommunication services.
It runs under {SunOS} and compiles to {Vcode}. Unir Tech,
(800) 222-8647.
E-mail: Jim Vandendorpe <jimvan@iexist.att.com>.
["A Dynamic C-Based Object-Oriented System for Unix", S.
Engelstad et al, IEEE Software 8(3):73-85 (May 1991)].
["The C+@ Programming Language", J. Fleming, Dr Dobbs J, Oct
1993, pp.24-32].
(31 Oct 1994)
[What has "Unir Tech" got to do with it?]
C-10
An improved version of {COLINGO}.
[Sammet 1969, p.702].
(28 Oct 1994)
C1 security
{Orange Book}
c2man
<tool> An automatic {documentation} extraction tool by Graham
Stoney <greyham@research.canon.oz.au>. c2man extracts
comments from {C} source code to generate functional interface
documentation in the same format as sections 2 and 3 of the
{Unix} Programmer's Manual. It looks for comments near the
objects they document, rather than imposing a rigid {syntax}
or requiring that the programmer use a typesetting language.
Acceptable documentation can often be generated from existing
code with no modifications.
It supports both {K&R} and {ISO}/{ANSI C} coding styles.
Output can be in {nroff} -man, {Texinfo} or {LaTeX} format.
It {automagically} documents {enum} parameter and return
values, it handles both {C} (/* */) and {C++} (//) style
comments, but not C++ grammar (yet). It requires {yacc},
{byacc} or {bison} for syntax analysis; {lex} or {flex} for
{lexical analysis} and {nroff}, {groff}, {texinfo} or {LaTeX}
to format the output. It runs under {Unix}, {OS/2} and
{MS-DOS}.
Version 2.0 patchlevel 25 (25 Oct 1995).
{Washington FTP
(ftp://ftp.wustl.edu/usenet/comp.sources.reviewed/volume03/)}.
{Stuttgart FTP
(ftp://ftp.informatik.uni-stuttgart.de/pub/archive/comp.sources/reviewed/)}.
{Patches
(ftp://lth.se/pub/netnews/sources.bugs/volume93/sep/)}.
Mailing list: <listserv@research.canon.oz.au> ("subscribe
c2man <Your Name>" in the message body).
Patches posted to {Usenet} newsgroups {news:comp.sources.bugs}
and {news:comp.sources.reviewed}.
(21 Feb 1994)
C2 security
{Orange Book}
c386
A compiler for {K&R C} plus {prototype}s and other {ANSI C}
features by Matthew Brandt, Christoph van Wuellen, Keith and
Dave Walker. c386 is targetted to several {68000} and {Intel
80386} {assembler}s, including {gas}. {floating-point}
support is by inline code or {emulation}. It can produce lots
of warnings and generates better code than {ACK}.
{Version 4.2a
(ftp://bugs.nosc.mil/pub/Minix/common-pkgs/c386-4.2.tar.Z)}.
c386 has been ported to {Intel 80386} and {68000} {Minix} and
should work on any Unix. It is actively worked on by the
Walkers. {Usenet} newsgroup: {news:comp.os.minix}.
C5
An {OPS5} implementation in {C}.
C64
{Commodore 64}
c68
{c386} also produces {68000} code.
CA
1. <theory, architecture> {cellular automaton}.
2. <company> {Computer Associates}.
3. <cryptography> {Certificate Authority}.
(28 Sep 1996)
ca
<networking> The {coutry code} for Canada.
(19 Apr 1995)
cache
<storage, programming> A small fast memory holding
recently-accessed data, designed to speed up subsequent access
to the same data. Most often applied to processor-memory
access but also used for a local copy of data accessible over
a network etc.
When data is read from, or written to, {main memory} a copy is
also saved in the cache, along with the associated main memory
address. The cache monitors addresses of subsequent reads to
see if the required data is already in the cache. If it is (a
{cache hit}) then it is returned immediately and the main
memory read is aborted (or not started). If the data is not
cached (a {cache miss}) then it is fetched from main memory
and also saved in the cache.
The cache is built from faster memory chips than main memory
so a cache hit takes much less time to complete than a normal
memory access. The cache may be located on the same
{integrated circuit} as the {CPU}, in order to further reduce
the access time.
The most important characteristic of a cache is its {hit rate}
- the fraction of all memory accesses which are satisfied from
the cache. This in turn depends on the cache design but
mostly on its size relative to the main memory. The size is
limited by the cost of fast memory chips.
The hit rate also depends on the access pattern of the
particular program being run (the sequence of addresses being
read and written). Caches rely on two properties of the
access patterns of most programs: temporal locality - if
something is accessed once, it is likely to be accessed again
soon, and spatial locality - if one memory location is
accessed then nearby memory locations are also likely to be
accessed. In order to exploit spatial locality, caches often
operate on several words at a time, a "{cache line}" or "cache
block". Main memory reads and writes are whole {cache lines}.
When the processor wants to write to main memory, the data is
first written to the cache on the assumption that the
processor will probably read it again soon. Various different
policies are used. In a {write-through} cache, data is
written to main memory at the same time as it is cached. In a
{write-back} cache it is only written to main memory when it
is forced out of the cache.
If all accesses were writes then, with a write-through policy,
every write to the cache would necessitate a main memory
write, thus slowing the system down to main memory speed.
However, statistically, most accesses are reads and most of
these will be satisfied from the cache. Write-through is
simpler than write-back because an entry that is to be
replaced can just be overwritten in the cache as it will
already have been copied to main memory whereas write-back
requires the cache to initiate a main memory write of the
flushed entry followed (for a processor read) by a main memory
read. However, write-back is more efficient because an entry
may be written many times in the cache without a main memory
access.
When the cache is full and it is desired to cache another line
of data then a cache entry is selected to be written back to
main memory or "flushed". The new line is then put in its
place. Which entry is chosen to be flushed is determined by a
"{replacement algorithm}".
Some processors have separate instruction and data caches.
Both can be active at the same time, allowing an instruction
fetch to overlap with a data read or write. This separation
also avoids the possibility of bad {cache conflict} between
say the instructions in a loop and some data in an array which
is accessed by that loop.
See also {direct mapped cache}, {fully associative cache},
{secondary cache}, {sector mapping}, {set associative cache}.
(21 Jan 1997)
cache block
{cache line}
cache conflict
<storage> A sequence of accesses to memory repeatedly
overwriting the same {cache} entry. This can happen if two
blocks of data, which are mapped to the same set of cache
locations, are needed simultaneously.
For example, in the case of a {direct mapped cache}, if
{arrays} A, B, and C map to the same range of cache locations,
thrashing will occur when the following loop is executed:
for (i=1; i<n; i++)
C[i] = A[i] + B[i];
Cache conflict can also occur between a program loop and the
data it is accessing.
See also {ping-pong}.
(21 Jan 1997)
cache hit
<storage> A request to read from memory which can satisfied
from the {cache} without using the {main memory}.
Opposite: {cache miss}.
(21 Jan 1997)
cache line
<storage> (Or cache block) The smallest unit of memory than
can be transferred between the {main memory} and the {cache}.
Rather than reading a single word or byte from main memory at
a time, each cache entry is usually holds a certain number of
words, known as a "cache line" or "cache block" and a whole
line is read and cached at once. This takes advantage of the
principle of locality of reference: if one location is read
then nearby locations (particularly following locations) are
likely to be read soon afterwards. It can also take advantage
of {page-mode} {DRAM} which allows faster access to
consecutive locations.
(21 Jan 1997)
cache memory
{cache}
cache miss
<storage> A request to read from memory which cannot be
satisfied from the {cache}, for which the {main memory} has to
be consulted.
Opposite: {cache hit}.
(21 Jan 1997)
Cache On A STick
<architecture> (COAST) {Intel Corporation} attempt to's
standardise the modular {L2 cache} subsystem in
{Pentium}-based computers.
A COAST module should be about 4.35" wide by 1.14" high.
According to earlier specifications from {Motorola}, a module
between 4.33" and 4.36" wide, and between 1.12" and 1.16" high
is within the COAST standard. Some module vendors, including
some major motherboard suppliers, greatly violate the height
specification.
Another COAST specification violated by many suppliers
concerns clock distribution in synchronous modules. The
specification requires that the clock tree to each synchronous
chip be balanced, i.e. equal length from edge of the connector
to individual chips. An unbalanced clock tree increases
reflections and noise.
For a 256 {kilobyte} cache module the standard requires the
same clock be used for both chips but some vendors use
separate clocks to reduce loading on the clock driver and
hence increase the clock speed. However, this creates
unbalanced loading in other motherboard configurations, such
as motherboards with soldered caches in the system.
(10 Jun 1996)
caching
{cache}
CACI
A company developing and marketing {SIMSCRIPT}, {MODSIM} and
other {simulation} software products.
Telephone: +1 (619) 457-9681.
(22 Sep 1994)
CACM
{Communications of the ACM}
CAD
{Computer Aided Design}
CAD/CAM
Computer Aided Design/Computer Aided Manufacturing.(see CAD)
CADD
Computer Aided Detector Design: a project to develop standards
and methods to allow cooperation between HEP detector
designers working in different institutes.
Cadence Design Systems
The "world leader" in {design automation} software and
services that accelerate and advance the process of designing
electronic systems.
{Home (http://www.cadence.com)}
CADET
Computer Aided Design Experimental Translator.
[Sammet 1969, p. 683].
(29 Nov 1994)
CADRE
A software engineering vendor in the US.
CAE
1. {Common Applications Environment}.
2. {Computer Aided Engineering}.
CAF
{constant applicative form}
CAFE
["Job Control Languages: MAXIMOP and CAFE", J. Brandon, Proc
BCS Symp on Job Control Languages--Past Present and Future,
NCC, Manchester, England 1974].
(28 Oct 1994)
CAGE
Early system on IBM 704. Listed in CACM 2(5):16 (May 1959).
CAI
{Computer-Aided Instruction}
Cairo
{Windows NT 4}
CAIS
{Common APSE Interface Specification}
CAIS-A
Common APSE Interface Set A
DoD-STD-1838A.
CAiSE
Conference on Advanced Information Systems Engineering.
CAJOLE
<language> (Chris And John's Own LanguagE) A {dataflow}
language developed by Chris Hankin <clh@doc.ic.ac.uk> and John
Sharp at {Westfield College}.
["The Data Flow Programming Language CAJOLE: An Informal
Introduction", C.L. Hankin et al, SIGPLAN Notices 16(7):35-44
(Jul 1981)].
(08 Nov 1994)
CAL
1. {Computer Assisted Learning}.
2. {Course Author Language}.
(21 Mar 1997)
Calc
An extensible, advanced desk calculator and mathematical tool
written in {Emacs Lisp} by Dave Gillespie
<daveg@cs.caltech.edu>. Calc runs as part of {GNU Emacs}.
You can use Calc as only a simple four-function calculator,
but it also provides additional features including choice of
algebraic or {RPN} ({stack}-based) entry, logarithms,
trigonometric and financial functions, {arbitrary precision},
complex numbers, vectors, matrices, dates, times, infinities,
sets, algebraic simplification, differentiation and
integration.
Version: 2.02.
FTP calc-2.02.tar.z from your nearest {GNU archive site}.
(08 Nov 1994)
calculator
(Cambridge) {bitty box}.
(22 Feb 1995)
Calculus of Communicating Systems
(CCS) A mathematical model (a formal language) for describing
processes, mostly used in the study of {parallelism}. A CCS
program, written in {behaviour expressions syntax} denotes a
process behaviour. Programs can be compared using the notion
of {observational equivalence}.
["A Calculus of Communicating Systems", LNCS 92, Springer
1980].
["Communication and Concurrency", R. Milner, P-H 1989].
(29 Nov 1994)
Calendar API
{Calendar Application Programming Interface}
Calendar Application Programming Interface
(CAPI, Calendar API) An {API} for calendar {software}.
{Microsoft} has defined a CAPI for their {Schedule+}
application.
(11 Jan 1995)
Caliban
A {declarative} annotation language for controlling the
partitioning and placement of the evaluation of expressions in
a distributed {functional language}. Designed by Paul Kelly
<phjk@doc.ic.ac.uk>, {Imperial College}.
["Functional Programming for Loosely-coupled Multiprocessors",
P. Kelly, Pitman/MIT Press, 1989].
(11 Jan 1995)
Calico
{C+@}
California State University San Marcos
(CSUSM)
{Home (http://coyote.csusm.edu/)}
(21 Dec 1994)
callback
1. A scheme used in {event-driven} programs where the program
registers a callback handler for a certain {event}. The
program does not call the handler directly but when the event
occurs, the handler is called, possibly with arguments
describing the event.
2. A user authentication scheme used by some computers running
{dial-up} services. The user dials in to the computer and
gives his login ID and password. The computer then hangs up
the connection and uses an {auto-dial} {modem} to call back to
the user's registered telephone number. Thus, if an
unauthorised person discovers a user's password, the callback
will go, not to him, but to the owner of that login who will
then know that his account is under attack.
However, some {PABX}s can be fooled into thinking that the
caller has hung up by sending them a dial tone. When the
computer tries to call out on the same line it is not actually
dialing through to the authorised user but is still connected
to the original caller.
call-by-name
(CBN) (Normal order reduction, leftmost, outermost reduction).
An argument passing convention (first provided by {ALGOL 60}?)
where argument expressions are passed unevaluated. This is
usually implemented by passing a pointer to some code which
will return the value of the argument and an environment
giving the values of its {free variable}s. This {evaluation
strategy} is guaranteed to reach a {normal form} if one
exists.
When used to implement {functional programming} languages,
call-by-name is usually combined with {graph reduction} to
avoid repeated evaluation of the same expression. This is
then known as {call-by-need}. The opposite of call-by-name is
{call-by-value} where arguments are evaluated before they are
passed to a function. This is more efficient but is less
likely to terminate in the presence of infinite data
structures and {recursive} functions. Arguments to {macro}s
are usually passed using call-by-name.
(29 Nov 1994)
call-by-need
<reduction> A {reduction strategy} which delays evaluation of
function arguments until they are needed because they are
arguments to a {primitive} function or a conditional.
Call-by-need is one part of {lazy evaluation}.
The term first appears in Chris Wadsworth's thesis "Semantics
and Pragmatics of the Lambda calculus" (Oxford, 1971, p. 183).
It was used later, by J. Vuillemin in his thesis (Stanford,
1973).
(27 May 1995)
call-by-reference
An argument passing convention where the address of an
argument variable is passed to a function or procedure, as
opposed to where the value of the argument expression is
passed. Execution of the function or procedure may have
{side-effect}s on the actual argument as seen by the caller.
The C language's "&" (address of) and "*" (dereference)
operators allow the programmer to code explicit
call-by-reference. Other languages provide special syntax to
declare reference arguments (e.g. {ALGOL 60}). See also
{call-by-name}, {call-by-value}, {call-by-value-result}.
call-by-value
(CBV) An {evaluation strategy} where arguments are evaluated
before the function or procedure is entered. Only the values
of the arguments are passed and changes to the arguments
within the called procedure have no effect on the actual
arguments as seen by the caller. See {applicative order
reduction}, {call-by-value-result}, {strict evaluation},
{call-by-name}, {lazy evaluation}.
call-by-value-result
An argument passing convention where the {actual argument} is
a variable V whose value is copied to a local variable L
inside the called function or procedure. If the procedure
modifies L, these changes will not affect V, which may also be
in scope inside the procedure, until the procedure returns
when the final value of L is copied to V. Under
{call-by-reference} changes to L would affect V immediately.
Used, for example, by {BBC BASIC V} on the {Acorn}
{Archimedes}.
call/cc
{Call-with-current-continuation}
Caller ID
(CID) A feature of some {modem}s.
calling convention
<programming> The arrangement of {arguments} for a procedure
or function call. Different programming languages may require
arguments to be pushed onto a {stack} or entered in
{registers} in left-to-right or right-to left order, and
either the caller or the callee can be responsible for
removing the arguments. The calling convention also
determines if a variable number of arguments is allowed.
(11 Nov 1995)
Call-Level Interface
<database, standard> (SQL/CLI) A programming interface
designed to support {SQL} access to {databases} from
shrink-wrapped {application programs}.
CLI was originally created by a subcommittee of the {SQL
Access Group} (SAG). The SAG/CLI specification was published
as the {Microsoft} {Open DataBase Connectivity} (ODBC)
specification in 1992. In 1993, SAG submitted the CLI to the
{ANSI} and {ISO} SQL committees.
SQL/CLI provides an international standard
implementation-independent CLI to access SQL databases.
{Client-server} tools can easily access databases through
{dynamic link libraries}. It supports and encourages a rich
set of client-server tools.
SQL/CLI is an addendum to 1992 SQL standard (SQL-92). It was
completed as ISO standard ISO/IEC 9075-3:1995 Information
technology -- Database languages -- SQL -- Part 3: Call-Level
Interface (SQL/CLI). The current SQL/CLI effort is adding
support for {SQL3}.
{(http://www.jcc.com/sql_cli.html)}.
(27 Oct 1996)
Callware
<company> The developers of {Phonetastic}.
(08 Dec 1996)
Call-with-current-continuation
(call/cc) A {Lisp} control function. call/cc takes a function
f as its argument. It calls f and passes it the current
{continuation}, which is itself a function, k. The
continuation represents the context of the call to call/cc.
It is a function which takes the result of call/cc (which is
the result of f) and returns the final result of the whole
program. Thus if, for example, the final result is to print
the value returned by call/cc then anything passed to k will
also be printed:
(defun f (k)
(apply k 1)
(apply k 2)
3)
(print (call/cc f))
Will print 1 2 3.
(29 Nov 1994)
CALS
Computer-Aided Acquisition and Logistics Support: a DoD
standard for electronic exchange of data with commercial
suppliers.
CAM
{content addressable memory}
CAM-6
Software for running {cellular automata}. CAM-6 has been
implemented in hardware as {CAM-PC}.
(21 Apr 1995)
CAMAL
<tool> CAMbridge ALgebra system.
A {symbolic mathematics} system used in Celestial Mechanics
and General Relativity. CAMAL was implemented in {BCPL} on
{Titan}.
["CAMAL User's Manual", John P. Fitch, Cambridge U, England
(1975)].
["The Design of the Cambridge Algebra System", S.R. Bourne et
al, Proc 2nd Symp of Symb & Alg Manip, SIGSAM 1971].
(16 Feb 1995)
Cambridge Lisp
A flavour of Lisp using BCPL. Sources owned by Fitznorman
partners.
Camelot Library
<library>
["The Camelot Library", J. Bloch, in "Guide to the Camelot
Distributed Transaction Facility: Release I", A.Z. Spector et
al eds, CMU 1988, pp. 29-62].
[What is it?]
(19 Apr 1995)
camera ready
<publication> A final editon of a document or graphic (e.g. a
newspaper advertisement or a technical paper for a journal)
that is of suitable quality for mass reproduction by making
printing plates from the negatives by photoengraving.
(15 Nov 1996)
CAMIL
Computer Assisted/Managed Instructional Language.
A language used for {CAI} at Lowry AFB, CO.
["The CAMIL Programming Language", David Pflasterer, SIGPLAN
Notices 13(11):43 (Nov 1978)].
(09 Nov 1994)
CAML
1. A language for preparation of animated movies. 1976.
(09 Nov 1994)
2. Categorical Abstract Machine Language.
A version of {ML} by G. Huet, G. Cousineau, Ascander Suarez,
Pierre Weis, Michel Mauny and others of {INRIA}. CAML is
intermediate between {LCF ML} and {SML}. CAML has
{first-class} functions, {static type inference} with
{polymorphic} types, user-defined {variant type}s and {product
type}s, and {pattern matching}.
The CAML V3.1 implementation adds {lazy} and {mutable} data
structures, a "{grammar}" mechanism for interfacing with the
{Yacc} {parser generator}, {pretty-printing} tools,
high-performance {arbitrary-precision} arithmetic and a
complete library.
CAML runs on {Sun-3}, {Sun-4}, {Sony} {68000}, {Sony} {R3000},
{Decstation}, {Macintosh} {A/UX} and {Apollo}. It is built on
a proprietary run-time system.
See also {CAML Light}.
{(ftp://ftp.inria.fr/lang/caml/)}.
{(ftp://ftp.inria.fr/INRIA/caml/V3.1)}.
E-mail: Pierre Weis <Pierre.Weis@inria.fr>,
<caml@margaux.inria.fr> (bugs).
Mailing list: <caml-list-request@margaux.inria.fr>.
{Usenet} newsgroup: {news:comp.lang.ml}.
["The CAML Reference Manual", P. Weis et al, TR INRIA-ENS,
1989].
(20 Oct 1991)
Caml Light
A small portable implementation of a version of {CAML} by
Xavier Leroy <Xavier.Leroy@inria.fr> and Damien Doligez of
{INRIA}. Caml Light uses a {bytecode interpreter} written in
{C}. It adds a {Modula-2}-like {module} system, {separate
compilation}, {lazy stream}s for parsing and printing,
graphics primitives and an interface with {C}.
Version 0.6 runs on {Unix}, {MS-DOS}, {Macintosh}, {Atari ST}
and {Amiga}. It includes an {interpreter}, {compiler},
{Emacs} mode, libraries, {scanner generator}, {parser
generator}, {run-time support} and an interactive development
environment.
{(ftp://ftp.inria.fr/lang/caml-light/)}
E-mail: <caml-light@margaux.inria.fr>.
Mailing list: <caml-list@margaux.inria.fr>.
{Usenet} newsgroup: {news:comp.lang.ml}.
(06 Oct 1993)
CAM-PC
<hardware> A {cellular automata} circuit board which is a
hardware implementation from {Automatrix} of the {MIT} {CAM-6}
machine. It comes with dozens of experiments and
applications.
{Home (http://www.automatrix.com/campc/index.html)}
(21 Apr 1995)
Campus Wide Information System
(CWIS) Information and services made publicly available at
university sites via {kiosk}s running interactive computing
systems, possibly via campus networks. Services routinely
include directory information, calendars, {bulletin board}s
and {database}s.
(09 Nov 1994)
CAN
{Cancel}
can
To abort a job on a {time-sharing} system. Used especially
when the person doing the deed is an operator, as in "canned
from the {console}". Frequently used in an imperative sense,
as in "Can that print job, the LPT just popped a sprocket!"
Synonymous with {gun}. It is said that the ASCII character
with {mnemonic} CAN (0011000) was used as a kill-job character
on some early OSes. Alternatively, this term may derive from
mainstream slang "canned" for being laid off or fired.
Canada
Country with {domain} "ca".
(06 Apr 1995)
Cancel
<character> (CAN) {ASCII} character 24.
(28 Jun 1996)
Candle
Part of the {Scorpion} environment development system.
(09 Nov 1994)
candygrammar
A programming-language grammar that is mostly {syntactic
sugar}; the term is also a play on "candygram". {COBOL},
{Apple Computer}'s {Hypertalk} language, and a lot of the
so-called "{4GL}" database languages share this property. The
usual intent of such designs is that they be as English-like
as possible, on the theory that they will then be easier for
unskilled people to program. This intention comes to grief on
the reality that syntax isn't what makes programming hard;
it's the mental effort and organisation required to specify an
algorithm precisely that costs. Thus the invariable result is
that "candygrammar" languages are just as difficult to program
in as terser ones, and far more painful for the experienced
hacker.
[The overtones from the old Chevy Chase skit on Saturday Night
Live should not be overlooked. This was a "Jaws" parody.
Someone lurking outside an apartment door tries all kinds of
bogus ways to get the occupant to open up, while ominous music
plays in the background. The last attempt is a half-hearted
"Candygram!" When the door is opened, a shark bursts in and
chomps the poor occupant. There is a moral here for those
attracted to candygrammars. Note that, in many circles,
pretty much the same ones who remember Monty Python sketches,
all it takes is the word "Candygram!", suitably timed, to get
people rolling on the floor. - GLS]
canonical
(Historically, "according to religious law")
1. <mathematics> A standard way of writing a formula. Two
formulas such as 9 + x and x + 9 are said to be equivalent
because they mean the same thing, but the second one is in
"canonical form" because it is written in the usual way, with
the highest power of x first. Usually there are fixed rules
you can use to decide whether something is in canonical form.
Things in canonical form are easier to compare.
2. <jargon> The usual or standard state or manner of
something. The term acquired this meaning in computer-science
culture largely through its prominence in {Alonzo Church}'s
work in computation theory and {mathematical logic} (see
{Knights of the Lambda-Calculus}).
Compare {vanilla}.
This word has an interesting history. Non-technical academics
do not use the adjective "canonical" in any of the senses
defined above with any regularity; they do however use the
nouns "canon" and "canonicity" (not "canonicalness"* or
"canonicality"*). The "canon" of a given author is the
complete body of authentic works by that author (this usage is
familiar to Sherlock Holmes fans as well as to literary
scholars). "The canon" is the body of works in a given field
(e.g. works of literature, or of art, or of music) deemed
worthwhile for students to study and for scholars to
investigate.
The word "canon" derives ultimately from the Greek "kanon"
(akin to the English "cane") referring to a reed. Reeds were
used for measurement, and in Latin and later Greek the word
"canon" meant a rule or a standard. The establishment of a
canon of scriptures within Christianity was meant to define a
standard or a rule for the religion. The above non-technical
academic usages stem from this instance of a defined and
accepted body of work. Alongside this usage was the
promulgation of "canons" ("rules") for the government of the
Catholic Church. The usages relating to religious law derive
from this use of the Latin "canon".
Hackers invest this term with a playfulness that makes an
ironic contrast with its historical meaning. A true story:
One Bob Sjoberg, new at the {MIT} {AI Lab}, expressed some
annoyance at the incessant use of jargon. Over his loud
objections, {GLS} and {RMS} made a point of using as much of
it as possible in his presence, and eventually it began to
sink in. Finally, in one conversation, he used the word
"canonical" in jargon-like fashion without thinking. Steele:
"Aha! We've finally got you talking jargon too!" Stallman:
"What did he say?" Steele: "Bob just used "canonical" in the
canonical way."
Of course, canonicality depends on context, but it is
implicitly defined as the way *hackers* normally expect things
to be. Thus, a hacker may claim with a straight face that
"according to religious law" is *not* the canonical meaning of
"canonical".
(22 Dec 1994)
canonical name
(CNAME) A host's official name as opposed to an alias. The
official name is the first hostname listed for its {Internet
address} in the hostname database, {/etc/hosts} or the
{Network Information Service} (NIS) map hosts.byaddr ("hosts"
for short). A host with multiple network interfaces may have
more than one Internet address, each with its own canonical
name (and zero or more aliases).
You can find a host's canonical name using {nslookup} if you
say
set querytype=CNAME
and then type a hostname.
(29 Nov 1994)
canonicity
<theory, jargon> The extent to which something is {canonical}.
(03 Mar 1995)
C (ANSI)
{ANSI C}
can't happen
<programming> The traditional program comment for code
executed under a condition that should never be true, for
example a file size computed as negative. Often, such a
condition being true indicates data corruption or a faulty
{algorithm}; it is almost always handled by emitting a fatal
error message and terminating or crashing, since there is
little else that can be done.
Some case variant of "can't happen" is also often the text
emitted if the "impossible" error actually happens. Although
"can't happen" events are genuinely infrequent in production
code, programmers wise enough to check for them habitually are
often surprised at how frequently they are triggered during
development and how many headaches checking for them turns out
to head off.
See also {firewall code}, {professional programming}.
(10 May 1996)
Cantor
1. <person, mathematics> A mathematician.
Cantor devised the diagonal proof of the uncountability of the
{real numbers}:
Given a function, f, from the {natural numbers} to the {real
numbers}, consider the real number r whose binary expansion is
given as follows: for each natural number i, r's i-th digit is
the complement of the i-th digit of f(i).
Thus, since r and f(i) differ in their i-th digits, r differs
from any value taken by f. Therefore, f is not {surjective}
(there are values of its result type which it cannot return).
Consequently, no function from the natural numbers to the
reals is surjective. A further theorem dependent on the
{axiom of choice} turns this result into the statement that
the reals are uncountable.
This is just a special case of a diagonal proof that a
function from a set to its {power set} cannot be surjective:
Let f be a function from a set S to its power set, P(S) and
let U = { x in S: x not in f(x) }. Now, observe that any x in
U is not in f(x), so U != f(x); and any x not in U is in f(x),
so U != f(x): whence U is not in { f(x) : x in S }. But U is
in P(S). Therefore, no function from a set to its power-set
can be surjective.
2. <language> An {object-oriented language} with fine-grained
{concurrency}.
[Athas, Caltech 1987. "Multicomputers: Message Passing
Concurrent Computers", W. Athas et al, Computer 21(8):9-24
(Aug 1988)].
(14 Mar 1997)
CAP
1. <networking> {Columbia AppleTalk Package}.
2. <communications> {Carrierless Amplitude/Phase Modulation}.
(04 Mar 1997)
capacitor
<electronics> An electronic device that can store electrical
charge. The charge stored Q in Coulombs is related to the
capacitance C in Farads and the voltage V across the capacitor
in Volts by Q = CV.
The basis of a {dynamic RAM} cell is a capacitor. They are
also used for power-supply smoothing (or "decoupling"). This
is especially important in digital circuits where a digital
device switching between states causes a sudden demand for
current. Without sufficient local power supply decoupling,
this current "spike" cannot be supplied directly from the
power supply due to the inductance of the connectors and so
will cause a sharp drop in the power supply voltage near the
switching device. This can cause other devices to malfunction
resulting in hard to trace {glitch}es.
(12 Apr 1995)
CAPI
1. {Calendar Application Programming Interface}.
2. <cryptography> {Cryptographic Application Programming
Interface}.
(11 Feb 1997)
Cap'n Crunch
{Captain Crunch}
Captain Abstraction
The champion of the principles of {abstraction} and
modularity, who protects unwary students on {MIT}'s course
{6.001} from the nefarious designs of Sergeant Spaghetticode
and his vile {concrete} programming practices.
See also {spaghetti code}.
(22 Nov 1994)
Captain Crunch
1. <person> ("Cap'n Crunch") An early 1970s
{hacker}/{phreaker}. Named after the "Cap'n Crunch" breakfast
cereal, but alluding to "{crunch}".
{Home (http://www.well.com/user/crunch/)}.
2. (After the above) {wardialer}.
3. Reportedly, a program which {crash}es a computer by
overloading the {interrupt} {stack}.
(16 Mar 1997)
card
1. A circuit board.
2. A {punched card}.
3. <hypertext> An alternative term for a {node} in a system
(e.g. {HyperCard}, {Notecards}) in which the node size is
limited.
Cardbus
<hardware> The 32 bit version of the {PCMCIA} (PC Card) {bus}.
[Spec?]
(20 Aug 1996)
cardinality
<mathematics> The number of elements in a set. If two sets
have the same number of elements (i.e. there is a {bijection}
between them) then they have the same cardinality. A
cardinality is thus an {isomorphism class} in the {category}
of sets.
{aleph 0} is defined as the cardinality of the first
{infinite} {ordinal}, {omega} (the number of {natural
number}s).
(29 Mar 1995)
cardinal number
The {cardinality} of some set.
CARDS
Central Archive for Reusable Defense Software of the DoD.
card walloper
An {EDP} programmer who grinds out {batch program}s that do
stupid things like print people's paychecks. Compare {code
grinder}. See also {punched card}, {eighty-column mind}.
Career Limiting Move
(CLM, Sun) 1. An action endangering one's future prospects of
getting plum projects and raises and possibly one's job: "His
Halloween costume was a parody of his manager. He won the
prize for "best CLM"."
2. Denotes extreme severity of a bug, discovered by a customer
and obviously missed earlier because of poor testing: "That's
a CLM bug!"
(16 Dec 1994)
caret
^
Common: hat; control; uparrow; caret; {ITU-T}: circumflex.
Rare: chevron; {INTERCAL}: shark (or shark-fin); to the ("to
the power of"); fang; pointer (in Pascal).
careware
/keir'weir/ (Or "{charityware}") {Shareware} for which either
the author suggests that some payment be made to a nominated
charity or a levy directed to charity is included on top of
the distribution charge.
Compare {crippleware}.
(16 Dec 1994)
cargo cult programming
A style of (incompetent) programming dominated by ritual
inclusion of code or program structures that serve no real
purpose. A cargo cult programmer will usually explain the
extra code as a way of working around some bug encountered in
the past, but usually neither the bug nor the reason the code
apparently avoided the bug was ever fully understood (compare
{shotgun debugging}, {voodoo programming}).
The term "cargo cult" is a reference to aboriginal religions
that grew up in the South Pacific after World War II. The
practices of these cults centre on building elaborate mockups
of aeroplanes and military style landing strips in the hope of
bringing the return of the god-like aeroplanes that brought
such marvelous cargo during the war. Hackish usage probably
derives from Richard Feynman's characterisation of certain
practices as "cargo cult science" in his book "Surely You're
Joking, Mr. Feynman" (W. W. Norton & Co, New York 1985, ISBN
0-393-01921-7).
Caribou CodeWorks
<company> The company which sells {QTRADER}.
Director of Marketing: Norm Larsen <wwcoinc@winternet.com>.
(05 Nov 1995)
Carl Friedrich Gauss
<person> A German mathematician (1777 - 1855), one of all time
greatest. Gauss discovered the {method of least squares} and
{Gaussian elimination}.
Gauss was something of a child prodigy; the most commonly told
story relates that when he was 10 his teacher, wanting a rest,
told his class to add up all the numbers from 1 to 100. Gauss
did it in seconds, having noticed that 1+...+100 = 100+...+1 =
(101+...+101)/2.
He did important work in almost every area of mathematics.
Such eclecticism is probably impossible today, since further
progress in most areas of mathematics requires much hard
background study.
Some idea of the range of his work can be obtained by noting
the many mathematical terms with "Gauss" in their names. E.g.
{Gaussian elimination} ({linear algebra}); {Gaussian primes}
(number theory); {Gaussian distribution} (statistics); {Gauss}
[unit] (electromagnetism); {Gaussian curvature} (differential
geometry); {Gaussian quadrature} (numerical analysis);
{Gauss-Bonnet formula} (differential geometry); {Gauss's
identity} ({hypergeometric functions}); {Gauss sums} ({number
theory}).
His favourite area of mathematics was {number theory}. He
conjectured the {Prime Number Theorem}, pioneered the {theory
of quadratic forms}, proved the {quadratic reciprocity
theorem}, and much more.
He was "the first mathematician to use {complex numbers} in a
really confident and scientific way" (Hardy & Wright, chapter
12).
He nearly went into architecture rather than mathematics; what
decided him on mathematics was his proof, at age 18, of the
startling theorem that a regular N-sided polygon can be
constructed with ruler and compasses if and only if N is a
power of 2 times a product of distinct {Fermat primes}.
(10 Apr 1995)
Carnegie Mellon University
(CMU) in Pittsburgh, Pennsylvania. {School of Computer Science
(http://www.cs.cmu.edu/Web/FrontDoor.html)}.
Carriage Return
<character> (CR, Control-M, {ASCII} 13) The character which
causes the {cursor} to move to the left margin, often used
with {line feed} to start a new line of output.
Encoded in {C} and {Unix} as "\r".
(24 Jun 1996)
carrier scanner
<security> (Or "wardialer") A program which uses a {modem} to
dial a series of phone numbers (say, from 770-0000 to
770-9999), and keeps a log of what phone numbers answer with a
modem {carrier}. The results of such a search were generally
used by people looking to engage in {random} mischief in
{random} machines.
Since the 1980s, wardialers have generally fallen into disuse,
partly because of easily available "{caller ID}" technology,
partly because fax machines are now in wide use and would
often be logged as a {carrier} by a wardialer, and partly
because there are so many new and more interesting venues for
computerised mischief these days.
(16 Mar 1997)
carrier signal
<communications> A continuous signal of a single frequency
capable of being modulated by a second, data-carrying signal.
In radio communication, the two common kinds of modulation are
{amplitude modulation} and {frequency modulation}.
(01 Mar 1995)
Cartesian product
<mathematics> (After Renee Descartes, French philosper and
mathematician) The Cartesian product of two sets A and B is
the set
A x B = {(a, b) | a in A, b in B}.
I.e. the product set contains all possible combinations of one
element from each set. The idea can be extended to products
of any number of sets.
If we consider the elements in sets A and B as points along
perpendicular axes in a two-dimensional space then the
elements of the product are the "{Cartesian coordinates}" of
points in that space.
See also {tuple}.
(01 Mar 1995)
CAS
{Column Address Strobe}
CAS 8051 Assembler
An experimental one-pass {assembler} for the 8051 with
{C}-like syntax by Mark Hopkins. Most features of a modern
assembler included except {macro}s (soon to be added).
Requires an {ANSI-C} compiler. Ported to {MS-DOS}, {Ultrix},
{Sun4}. (July 1993).
Version 1.2. Assembler/linker, disassembler, documentation,
examples.
{(ftp://lyman.pppl.gov/pub/8051/assem)},
{(ftp://nic.funet.fi/pub/microprocs/MCS-51/csd4-archive/assem)}.
{Other software tools and applications
(ftp://nic.funet.fi/pub/compilers/8051/)}.
(26 Jan 1995)
cascade
1. A huge volume of spurious error-message output produced by
a compiler with poor error recovery. Too frequently, one
trivial syntax error (such as a missing ")" or "}") throws the
parser out of synch so that much of the remaining program text
is interpreted as garbaged or ill-formed.
2. A chain of {Usenet} followups, each adding some trivial
variation or riposte to the text of the previous one, all of
which is reproduced in the new message; an {include war} in
which the object is to create a sort of communal graffito.
CASE
1. {Computer Aided Software Engineering}.
2. {Common Application Service Element}.
case
1. <programming> {switch statement}.
2. <character> Whether a character is a capital letter ("upper
case" - ABC..Z) or a small letter ("lower case" - abc..z).
The term case comes from the printing trade when the use of
moving type was invented in the early Middle Ages (Caxton or
Gutenberg?) and the letters for each {font} were stored in a
box with two sections (or "cases"), the upper case was for the
capital letters and the lower case was for the small letters.
The Oxford Universal Dictionary of Historical Principles (Feb
1993, reprinted 1952) indicates that this usage of "case" (as
the box or frame used by a compositor in the printing trade)
was first used in 1588.
(01 Mar 1996)
case and paste
<programming> (From "{cut and paste}") The addition of a new
{feature} to an existing system by selecting the code from an
existing feature and pasting it in with minor changes. Common
in telephony circles because most operations in a telephone
switch are selected using "case" statements. Leads to
{software bloat}.
In some circles of {Emacs} users this is called "programming
by Meta-W", because Meta-W is the Emacs command for copying a
block of text to a {kill buffer} in preparation to pasting it
in elsewhere. The term is condescending, implying that the
programmer is acting mindlessly rather than thinking carefully
about what is required to integrate the code for two similar
cases.
At {DEC}, this is sometimes called "clone-and-hack" coding.
(01 Mar 1996)
case based reasoning
<artificial intelligence> (CBR) A technique for problem
solving which looks for previous examples which are similar to
the current problem. This is useful where {heuristic}
{knowledge} is not available.
There are many situations where experts are not happy to be
questioned about their knowledge by people who want to write
the knowledge in rules, for use in {expert systems}. In most
of these situations, the natural way for an expert to describe
his or her knowledge is through examples, stories or cases
(which are all basically the same thing). Such an expert will
teach trainees about the expertise by apprenticeship, i.e. by
giving examples and by asking the trainees to remember them,
copy them and adapt them in solving new problems if they
describe situations that are similar to the new problems. CBR
aims to exploit such knowledge.
Some key research areas are efficient indexing, how to define
"similarity" between cases and how to use temporal
information.
(28 May 1996)
CASE Data Interchange Format
(CDIF) An emerging standard for interchange of data between
{CASE} tools.
(03 Nov 1994)
CASE framework
A set of products and conventions that allow CASE tools to be
integrated into a coherent environment.
case insensitive
<text> Opposite of {case sensitive}.
(13 Jan 1996)
Case Integration Services
(CIS) A committee formed to discuss {CASE} tool integration
standards related to {ATIS}.
(25 Oct 1994)
CASE*Method
An analysis and design method from {Oracle} targeted at
information management applications.
(28 Oct 1994)
case sensitive
<text> A property of a text matching operation which
distinguishes upper-{case} (capital) letters from lower case.
Case sensitivity is relevant in areas including: text editors
(many default to case insensitive searching but case sensitive
searching is occasionally more useful); {operating systems}
({MS-DOS} filenames are case insensitive, {Unix} filenames are
case sensitive); programming (most programming languages
distiguish between case in the names of {identifiers}), and
addressing ({Internet} {domain names} are case insensitive but
{RFC 822} local {mailbox} names are case sensitive).
(13 Jan 1996)
CASE SOAP III
Version of SOAP assembly language for IBM 650. Listed in
CACM 2(5):16 (May 1959).
case statement
{switch statement}
CASE tools
Software tools to help in the application of CASE methods to a
software project.
cashe
<spelling> Misspelling of "{cache}".
(13 Dec 1996)
CAST
{Computer Aided Software Testing}
cast
An {explicit type conversion} in {C}. For example, to convert
an integer (usually 32 bits) to a char (usually 8 bits) we
might write:
int i = 42;
char *p = &buf;
*p = (char) i;
The expression "(char)" casts i to char type. Casts
(including this one) are often not strictly necessary, due to
automatic {coercion}s performed by the compiler, but can be
used to make the conversion obvious and to avoid warning
messages.
(16 Feb 1995)
casters-up mode
[IBM, probably from slang belly up] Yet another synonym for
"broken" or "down". Usually connotes a major failure. A
system (hardware or software) which is "down" may be already
being restarted before the failure is noticed, whereas one
which is "casters up" is usually a good excuse to take the
rest of the day off (as long as you're not responsible for
fixing it).
casting the runes
What a {guru} does when you ask him or her to run a particular
program and type at it because it never works for anyone else;
especially used when nobody can ever see what the guru is
doing different from what J. Random Luser does. Compare
{incantation}, {runes}, {examining the entrails}; also see the
{AI koan} about Tom Knight.
CAT
Common Abstract Tree Language. R. Voeller & Uwe Schmidt, U
Kiel, Germany 1983. Universal intermediate language, used by
Norsk Data in their family of compilers. "A Multi-Language
Compiler System with Automatically Generated Codegenerators,
U. Schmidt et al, SIGPLAN Notices 19(6):202-2121 (June 1984).
cat
<tool> (From "catenate") {Unix}'s command which copies one or
more entire files to the screen or some other output sink
without pause.
See also {dd}, {BLT}.
Among {Unix} fans, cat is considered an excellent example of
user-interface design, because it delivers the file contents
without such verbosity as spacing or headers between the files
(the {pr} command can be used to do this), and because it does
not require the files to consist of lines of text, but works
with any sort of data.
Among Unix haters, cat is considered the {canonical} example
of *bad* user-interface design, because of its woefully
unobvious name. It is far more often used to {blast} a file
to standard output than to concatenate files. The name "cat"
for the former operation is just as unintuitive as, say,
LISP's {cdr}.
Of such oppositions are {holy wars} made.
(29 Nov 1994)
catatonic
Describes a condition of suspended animation in which
something is so {wedged} or {hung} that it makes no response.
If you are typing on a terminal and suddenly the computer
doesn't even echo the letters back to the screen as you type,
let alone do what you're asking it to do, then the computer is
suffering from catatonia (possibly because it has crashed).
Compare {buzz}.
CATE
Computer Aided Test Engineering: CASE methods applied to
electronics testing and linked to CAE
category
A category K is a collection of objects, obj(K), and a
collection of {morphism}s (or "{arrow}s"), mor(K) such that
1. Each morphism f has a "typing" on a pair of objects A, B
written f:A->B. This is read 'f is a morphism from A to B'.
A is the "source" or "{domain}" of f and B is its "target" or
"{co-domain}".
2. There is a {partial function} on morphisms called
{composition} and denoted by an {infix} ring symbol, o. We
may form the "composite" g o f : A -> C if we have g:B->C and
f:A->B.
3. This composition is associative: h o (g o f) = (h o g) o f.
4. Each object A has an identity morphism id_A:A->A associated
with it. This is the identity under composition, shown by the
equations id_B o f = f = f o id_A.
In general, the morphisms between two objects need not form a
set (to avoid problems with {Russell's paradox}). An example
of a category is the collection of {set}s where the objects
are sets and the morphisms are functions.
Sometimes the composition ring is omitted. The use of
capitals for objects and lower case letters for morphisms is
widespread but not universal. Variables which refer to
categories themselves are usually written in a script font.
cathode ray tube
<hardware> (CRT) An electrical device for displaying images by
exciting phosphor dots with a scanned electron beam. CRTs are
found in computer {VDU}s and {monitors}, televisions and
oscilloscopes. The first commercially practical CRT was
perfected on 29 January 1901 by Allen B DuMont.
A large glass envelope containing a negative electrode (the
cathode) emits electrons (formerly called "cathode rays") when
heated, as in a {vacuum tube}. The electrons are accelerated
across a large voltage gradient towards the flat surface of
the tube (the screen) which is covered with phosphor. When an
electron strikes the phosphor, light is emitted. The electron
beam is deflected by electromagnetic coils around the outside
of the tube so that it scans across the screen, usually in
horizontal stripes. This scan pattern is known as a {raster}.
By controlling the current in the beam, the brightness at any
particular point (roughly a "{pixel}") can be varied.
Different phosphors have different "{persistence}" - the
length of time for which they glow after being struck by
electrons. If the scanning is done fast enough, the eye sees
a steady image, due to both the persistence of the phospor and
of the eye itself. CRTs also differ in their {dot pitch},
which determines their spatial {resolution}, and in whether
they use {interlace} or not.
(17 Nov 1994)
CATIA
<tool> An {IBM} CAD/CAM product used heavily in the auto and
aerospace industries. It runs on the IBM {RS/6000} and {HP}
platforms.
(13 Jan 1996)
C/ATLAS
<language> A DoD test language. It is a variant of {ATLAS}.
(01 May 1995)
CATNIP
{Common Architecture for Next Generation Internet Protocol}
CATO
FORTRAN-like CAI language for PLATO system on CDC 1604. "CSL
PLATO System Manual", L.A. Fillman, U Illinois, June 1966.
cause-effect graphing
<programming> A testing technique that aids in selecting, in a
systematic way, a high-yield set of test cases that logically
relates causes to effects to produce test cases. It has a
beneficial side effect in pointing out incompleteness and
ambiguities in specifications.
(10 May 1996)
CAYLEY
<mathematics, tool> A {symbolic mathematics} system for {group
theory} written by John Cannon of the {University of Sydney},
Australia in 1976.
["An Introduction to the Group Theory Language CAYLEY", J.
Cannon, Computational Group Theory, M.D. Atkinson ed, Academic
Press 1984, pp. 148-183].
Current version: V3.7 for Sun, Apollo, VAX/VMS.
E-mail: <cayley@maths.su.oz.au>.
(12 Apr 1995)
cb
{C Beautifier}
CBASIC
A {BASIC} compiler by Gordon Eubanks, now at {Symantec}. It
evolved from/into {EBASIC}.
(29 Nov 1994)
C-BC
A {strongly typed} version of {BC} by Mark Hopkins, with
expanded {C}-like {syntax}, more base types and the ability to
form {array} and pointer types of any dimension and to
allocate/free arrays at run-time.
Most {POSIX-BC} features are supported, except that functions
must be declared consistently and declared before first use.
String handling is slightly different. It requires and
{ANSI-C} compiler and runs under {MS-DOS} or {Unix}.
Version 1.1.
Posted to {alt.sources} 10 Apr 1993.
(23 Aug 1993)
C Beautifier
(cb) A {Unix} tool for reformatting {C} {source} code.
{Unix manual page}: cb(1).
CBIR
<image> {content-based information retrieval}.
(23 Nov 1995)
CBN
{call-by-name}
CBR
{case based reasoning}
CBT
{Computer-Based Training}
CBV
{call-by-value}
cbw
{Crypt Breakers Workbench}
CC++
{Compositional C++}
C/C++
1. {Borland C/C++}.
2. {Watcom C/C++}.
3. Either {C} or {C++}.
(06 Apr 1996)
CCalc
A {symbolic mathematics} system for {MS-DOS}, available from
{Simtel}.
(12 Apr 1995)
CCD
{Charge-Coupled Device}
CCIRN
Coordinating Committee for Intercontinental Research Networks.
CCITT
Commite' Consultatif International de Telegraphique et
Telephonique. (International consultative committee on
telecommunications and Telegraphy).
CCITT changed its name to {ITU-T} on 1 March 1993.
(03 Nov 1994)
CCITT HIgh-Level Language
<language> (CHILL) A {real-time} language widely used in
telecommunications. CHILL was developed in the 1970s and
improved in 1984, 1988, 1992, and 1996. It is used in several
countries including Germany, Norway, Brasil, and South Korea.
{Cygnus} are developing a compiler based on {gcc}.
{(http://www1.informatik.uni-jena.de/languages/chill/chill.htm)}.
["An Analytical Description of CHILL, the CCITT High Level
Language", P. Branquart, LNCS 128, Springer 1982].
["CHILL User's Manual", ITU, 1986, ISBN 92-61-02601-X.
ISO-9496 (1988?)].
(20 Jan 1997)
CCL
1. Coral Common LISP.
2. Computer Control Language. English-like query language
based on COLINGO, for IBM 1401 and IBM 1410.
CCLU
Cambridge CLU. {CLU} extended to support {concurrency},
distributed programming and {remote procedure call}, by
G. Hamilton et al at {CUCL}.
E-mail: Jean Bacon <jmb@cl.cam.ac.uk>.
(13 Oct 1994)
ccmail
It's written {cc:mail}.
cc:mail
<tool, product> Commercial {electronic mail} software by
{Lotus Corporation} for {Microsoft Windows}.
(14 Mar 1995)
CCP
{Concurrent Constraint Programming}
Not a language, but a general approach.
CCR
1. {condition code register}.
2. (Database) {concurrency control and recovery}.
CCS
1. <networking> {Common Communication Services}.
2. <language, parallel> {Calculus of Communicating Systems}.
3. <history> {Computer Conservation Society}.
4. <storage, standard> {Common Command Set}.
(23 Mar 1997)
CCSP
{Contextually Communicating Sequential Processes}
CCTA
The Government Centre for Information Systems.
(Originally "Central Computer and Telecommunications Agency").
CCTA is part of the Office of Public Service and Science,
which works to improve government's services to the public.
They are responsible for stimulating and promoting the
effective use of Information Systems in support of the
efficient delivery of business objectives and improved quality
of services by the public sector.
CCTA had to change its name as it was not an agency in the
"Next Steps" sense. The letters were retained as customers
were familiar with them.
{Home (http://www.open.gov.uk/)}
E-mail: <info@open.gov.uk>.
Address: Norwich, UK.
(18 Jan 1995)
CD
{Compact Disc}
CDA
1. <file format> {Compound Document Architecture}.
2. <law> {Communications Decency Act}.
CDC
{Control Data Corporation}
CDDI
{Copper Distributed Data Interface}
CDD/Plus
{DEC}'s {CASE} {repository}.
CDE
1. C Development environment from {IDE}.
2. {Common Desktop Environment}.
3. {Co-operative Development Environment}.
(11 Jul 1996)
CDF
Common Data Format. A library and toolkit for
multi-dimensional data sets.
CD-i
{Compact Disc interactive}
CDIF
{CASE Data Interchange Format}
CDL
1. Computer Definition [Design?] Language. A hardware
description language. "Computer Organisation and
Microprogramming", Yaohan Chu, P-H 1970.
2. Command Definition Language. Portion of ICES used to
implement commands. Sammet 1969, p.618-620.
3. Compiler Description Language. C.H.A. Koster, 1969.
Intended for implementation of the rules of an affix grammar
by recursive procedures. A procedure may be a set of
tree-structured alternatives, each alternative is executed
until one successfully exits. Used in a portable COBOL-74
compiler from MPB, mprolog system from SzKI, and the Mephisto
chess computer. "CDL: A Compiler Implementation Language", in
Methods of Algorithmic Language Implementation, C.H.A. Koster,
LNCS 47, Springer 1977, pp.341-351. "Using the CDL Compiler
Compiler", C.H.A. Koster, 1974. Versions: CDL2, CDLM used at
Manchester.
4. Common Design Language. "Common Design Language", IBM,
Software Engineering Inst, Sept 1983.
5. Control Definition Language. Ideas which contributed to
Smalltalk.
["Control Structures for Programming Languges", David
A. Fisher, PhD Thesis, CMU 1970].
CDM
{Content Data Model}
CDMA
{Code Division Multiple Access}
CDP1802
{RCA 1802}
CDPD
{Cellular Digital Packet Data}
cdr
/ku'dr/ or /kuh'dr/ [LISP] To skip past the first item from a
list of things (generalised from the LISP operation on binary
tree structures, which returns a list consisting of all but
the first element of its argument). In the form "cdr down",
to trace down a list of elements: "Shall we cdr down the
agenda?" Usage: silly. See also {loop through}.
Historical note: The instruction format of the IBM 7090 that
hosted the original LISP implementation featured two 15 bit
fields called the "address" and "decrement" parts. The term
"cdr" was originally "Contents of Decrement part of Register".
Similarly, "car" stood for "Contents of Address part of
Register".
The cdr and car operations have since become bases for
formation of compound metaphors in non-LISP contexts. GLS
recalls, for example, a programming project in which strings
were represented as linked lists; the get-character and
skip-character operations were of course called CHAR and CHDR.
CD-R
{Compact Disc Recordable}
CD-ROM
{Compact Disc Read-Only Memory}
CD-ROM drive
{Compact Disc Read-Only Memory}
CDS
{Concrete Data Structure}
cd tilde
/C-D til-d*/ To go home. From the {Unix} {C shell} and
Korn-shell command "cd ~", which takes one to one's "$HOME"
directory. "cd" with no arguments does the same thing.
(28 Oct 1994)
Cecil
AN {object-oriented} language combining {multi-method}s with a
classless object model, object-based {encapsulation} and
optional {static type checking}. It distinguishes between
{subtyping} and {code inheritance}. Includes both explicit
and implicit parameterisation of objects, types, and methods.
{(ftp://cs.washington.edu/pub/chambers/cecil-spec.ps.Z)}
["The Cecil Language: Specification and Rationale",
C. Chambers, TR 93-03-05, U Wash (Mar 1993)].
(28 Oct 1994)
Cedar
A superset of {Mesa}, from {Xerox PARC}, adding {garbage
collection}, {dynamic type}s and a universal pointer type (REF
ANY). Cedar is a large complex language designed for custom
Xerox hardware and the Cedar {operating system}/environment.
Data types are {atom}s, lists, ropes ("industrial strength"
strings), conditions. Multi-processing features include
{thread}s, {monitor}s, {signal}s and catch phrases. It was
used to develop the Cedar integrated programming environment.
["A Description of the Cedar Language", Butler Lampson, Xerox
PARC, CSL-83-15 (Dec 1983)].
["The Structure of Cedar", D. Swinehart et al, SIGPLAN Notices
20(7):230-244 (July 1985)].
(26 Jan 1995)
CEEMAC+
Graphics language for DOS 3.3 on {Apple II}.
CEI-PACT
Central European Initiative on Parallel Computation.
CELIP
A cellular language for {image processing}.
["CELIP: A cellular Language for Image Processing",
W. Hasselbring <willi@informatik.uni-essen.de>, Parallel
Computing 14:99-109 (1990)].
(05 Dec 1994)
cell
<networking> {ATM}'s term for a {packet}.
(21 Aug 1996)
Cellang
See {Cellular}.
CELLAS
CELLular ASsemblies.
A {concurrent} {block-structured} language.
[Mentioned in "Attribute Grammars", LNCS 323, p.97].
(05 Dec 1994)
Cello
{World-Wide Web} {browser} {client} for {IBM PC}s. Runs under
{Microsoft Windows}.
CELLSIM
A program for modeling populations of biological cells.
["CELLSIM II User's Manual", C.E. Donaghey, U Houston (Sep
1975)].
(05 Dec 1994)
Cellular
A system for {cellular automata} programming by J Dana Eckart
<dana@rucs.faculty.cs.runet.edu> Version 2.0 includes a
{byte-code compiler}, {run-time system} and a viewer.
Posted to comp.sources.Unix, volume 26.
See also {Cellang}.
(03 Apr 1993)
cellular automata
{cellular automaton}
cellular automaton
<algorithm, parallel> (CA, plural "- automata") A regular
spatial lattice of "cells", each of which can have any one of
a finite number of states. The state of all cells in the
lattice are updated simultaneously and the state of the entire
lattice advances in discrete time steps. The state of each
cell in the lattice is updated according to a local rule which
may depend on the state of the cell and its neighbors at the
previous time step.
Each cell in a cellular automaton could be considered to be a
{finite state machine} which takes its neighbours' states as
input and outputs its own state.
The best known example is J.H. Conway's game of {Life}.
{FAQ
(http://alife.santafe.edu/alife/topics/cas/ca-faq/ca-faq.html)}.
{Usenet} newsgroups: {news:comp.theory.cell-automata},
{news:comp.theory.self-org-sys}.
(03 Mar 1995)
Cellular Digital Packet Data
(CDPD) A wireless standard providing two-way, 19.2 kbps
{packet} data transmission over exisiting {cellular telephone}
channels.
(05 Dec 1994)
Cellular Neural Network
<architecture> (CNN) The CNN Universal Machine is a low cost,
low power, extremely high speed {supercomputer} on a chip. It
is at least 1000 times faster than equivalent {DSP} solutions
of many complex {image processing} tasks. It is a stored
program supercomputer where a complex sequence of image
processing {algorithm}s is programmed and downloaded into the
chip, just like any digital computer. Because the entire
computer is integrated into a chip, no signal leaves the chip
until the image processing task is completed.
Although the CNN universal chip is based on analogue and logic
operating principles, it has an on-chip analog-to-digital
input-output interface so that at the system design and
application perspective, it can be used as a digital
component, just like a DSP. In particular, a development
system is available for rapid design and prototyping.
Moreover, a {compiler}, an {operating system}, and a
{user-friendly} CNN {high-level language}, like the {C}
language, have been developed which makes it easy to implement
any image processing algorithm.
[Professor Leon Chua, University of California at Berkeley].
(27 Apr 1995)
CELP
<language> Computationally Extended Logic
Programming.
["Computationally Extended Logic Programming", M.C. Rubenstein
et al, Comp Langs 12(1):1-7 (1987)].
(27 Apr 1995)
CEN
Conseil Européen pour la Normalisation.
A body coordinating {standard}isation activities in the EEC
and EFTA countries.
(14 Dec 1994)
CENELEC
CEN-electricite.
central office
<communications> The place where telephone companies terminate
customer lines and locate switching equipment to interconnect
those lines with other networks.
(20 Mar 1995)
central processing unit
<architecture, processor> (CPU, processor) The part of a
computer which controls all the other parts. The CPU fetches
instructions from memory and decodes them. This may cause it
to transfer data to or from memory or to activate
{peripherals} to perform input or output.
A {parallel computer} has several CPUs which may share other
resources such as memory and peripherals.
The {CPU Info Center} lists many kinds of CPU.
(30 Oct 1996)
Centronics
A parallel interface for printers, found on many
{microcomputer}s.
[Pin-out? Origin?]
(16 Feb 1995)
Centrum voor Wiskunde en Informatica
(CWI, Centre for Mathematics and Computer Science) An
independent research institute active in the fields of
mathematics and computer science. CWI also aims to transfer
new knowledge in these fields to society, trade and industry
CWI is funded for 70 percent by NWO, the National Organisation
for Scientific Research. The remaining 30 percent is obtained
through national and international programmes and contract
research commissioned by industry.
Address: Kruislaan 413, 1098 SJ Amsterdam, The Netherlands;
P.O.Box 94079, 1090 GB Amsterdam, The Netherlands.
Telephone: +31 (20) 5929 333.
{Home (http://www.cwi.nl/)}
{(ftp://ftp.cwi.nl/pub/)}.
century meltdown
{Year 2000}
cepstra
{cepstrum}
cepstrum
<mathematics> (Coined in a 1963 paper by Bogert, Healey, and
Tukey) The {Fourier transform} of the log-magnitude spectrum:
fFt(ln( | fFt(window . signal) | ))
This function is used in {speach recognition} and possibly
elsewhere. Note that the outer transform is NOT an inverse
Fourier transform (as reported in many respectable DSP texts).
[What's it for?]
(07 Jan 1997)
CEPT
{Comite Europeen des Postes et Telecommunications}
Ceres workstation Oberon System
A complete {Oberon} compiler written in {Oberon}. Source to
most of the complete Ceres workstation Oberon System,
including the {NS32032} {code generator} is available. Less
of the low level system specific code is available.
{(ftp://neptune.ethz.ch/Oberon/)}
(14 Dec 1994)
CERN
The European Laboratory for Particle Physics.
CERNLIB
The CERN Program Library.
CERT
{Computer Emergency Response Team}
Certificate Authority
<cryptography, body> (CA) An entity that attests to the
identity of a person or an organisation. A Certificate
Authority might be an external company such as {VeriSign} that
offers certificate services or they might be an internal
organisation such as a corporate {MIS} department. The
Certificate Authority's chief function is to verify the
identity of entities and issue digital certificates attesting
to that identity.
{Netscape Certificate Server} enables an organisation to act
as its own Certificate Authority.
{(http://home.netscape.com/comprod/server_central/support/faq/certificate_faq.html#11)}.
[Connection with cryptography?]
(29 Sep 1996)
CESP
Common ESPECIALLY AI Language Inst, Mitsubishi -
{object-oriented} extension of {Prolog}, a {Unix}-based
version of {ESP}.
E-mail: <cesp-request@air.co.jp>.
(14 Dec 1994)
CESSL
CEll Space Simulation Language.
A language for simulating cellular space models.
["The CESSL Programming Language", D.R. Frantz, 012520-6-T, CS
Dept, U Michigan (Sept 1971)].
(14 Dec 1994)
cextract
A {C} {prototype} extractor byAdam Bryant <adb@cs.bu.edu>. It
can generate {header file}s for large multi-file C programs,
and will provide an automated method for generating all of the
prototypes for all of the functions in such a program. It can
also generate a sorted list of all functions and their
locations. cextract version 1.7 works with both {ANSI C} and
{K&R C} and runs under {Unix} and {VMS}.
Posted to comp.sources.reviewed.
(03 Nov 1992)
CFD
Computational Fluid Dynamics.
A {FORTRAN}-based parallel language for the {Illiac IV}.
(29 Nov 1994)
cforth
A {Forth} {interpreter}.
Posted to comp.sources.unix volume 1.
(29 Nov 1994)
cfortran.h
A transparent, machine independent interface between {C} and
{FORTRAN} routines and global data by Burkhard Burow
<burow@vxdesy.cern.ch>. It provides {macro}s which allow the
{C} {preprocessor} to translate a simple description of a C
(Fortran) routine or global data into a Fortran (C) interface.
Version 2.6 runs on {VAX}/{VMS}/{Ultrix}, {DECstation},
{Silicon Graphics}, {IBM} {RS/6000}, {Sun}, {Cray}, {Apollo},
{HP9000}, {LynxOS}, {f2c}, {NAG f90}.
{(ftp://zebra.desy.de/cfortran/)}
It was reviewed in RS/Magazine November 1992 and a user's
experiences with cfortran.h are described in the Jan 93 issue
of Computers in Physics.
(12 Apr 1992)
CFP
1. {Constraint Functional Programming}.
2. {Communicating Functional Processes}.
3. Call For Papers (for a conference).
CFP92
{SPEC CFP92}
CGA
{Color Graphics Adapter}
CGGL
("seagull") Code-Generator Generator Language. A machine
description language based on modeling the computer as a
{finite-state machine}.
["A Code Generator Generator Language", M.K. Donegan et al,
SIGPLAN Notices 14(8):58-64 (Aug 1979)].
(24 Oct 1994)
CGI
1. {Common Gateway Interface}.
2. A French software engineering vendor in the US.
3. {Computer Generation Incorporated}
(11 Feb 1997)
cgi-bin
{Common Gateway Interface}
CGM
{Computer Graphics Metafile}
CGOL
A package providing {ALGOL}-like surface syntax for {MACLISP}
written by V.R. Pratt in 1977.
{(ftp://mc.lcs.mit.edu/its/ai/lisp/cgol.fasl)}
["CGOL - An Alternative Exetrnal Representation for LISP
Users", V. Pratt, MIT AI Lab, Working Paper 89, 1976].
cgram
An {ANSI C} {LL1} or {LL2} {grammar} written in {Scheme} by
Mohd Hanafiah Abdullah <napi@cs.indiana.edu>. A program
(f-f-d.s) extracts the FIRST/FOLLOW/DIRECTOR sets.
{(ftp://primost.cs.wisc.edu/pub/comp.compilers/cgram-ll1.Z)}
chad
<jargon, printer> /chad/ 1. The perforated edge strips on
printer paper, after they have been separated from the printed
portion. Also called {selvage} and {perf}.
2. (Or "chaff", "computer confetti", "keypunch droppings") The
confetti-like bits punched out of {punched cards} or {paper
tape} which collected in the {chad box}.
One correspondent believes "chad" derives from the {Chadless
keypunch}.
(12 Feb 1997)
chad box
<hardware> ({IBM} called this a "chip box") A metal box about
the size of a lunchbox (or in some models a large
wastebasket), for collecting the {chad} that accumulated in
{Iron Age} {card punches}. You had to open the covers of the
card punch periodically and empty the chad box.
The {bit bucket} was notionally the equivalent device in the
{CPU} enclosure, which was typically across the room in
another great gray-and-blue box.
(20 Nov 1996)
Chadless keypunch
<hardware> (Named after its inventor) A {card punch} which cut
little U-shapes in {punched cards}, rather than punching out a
circle or rectangle. The U's made a hole when folded back.
It was clear that if the Chadless keypunch didn't make them,
then the stuff that other keypunches made had to be "{chad}".
(12 Feb 1997)
chain
1. <operating system> (From {BASIC}'s "CHAIN" statement) To
pass control to a child or successor without going through the
{operating system} {command interpreter} that invoked you.
The state of the parent program is lost and there is no
returning to it. Though this facility used to be common on
memory-limited {microcomputers} and is still widely supported
for {backward compatibility}, the jargon usage is
semi-obsolescent; in particular, {Unix} calls this {exec}.
Oppose the more modern "{subshell}".
2. <programming> A series of linked data areas within an
{operating system} or {application program}. "Chain rattling"
is the process of repeatedly running through the linked data
areas searching for one which is of interest. The implication
is that there are many links in the chain.
3. <theory> A possibly infinite, non-decreasing sequence of
elements of some {total ordering}, S
x0 <= x1 <= x2 ...
A chain satisfies:
for all x,y in S, x <= y \/ y <= x.
I.e. any two elements of a chain are related.
("<=" is written in {LaTeX} as {\sqsubseteq}).
(03 Feb 1995)
Challenge-Handshake Authentication Protocol
<networking, security, standard, protocol> (CHAP) An
{authentication} scheme used by {PPP} servers to validate the
identity of the originator of the connection upon connection
or any time later.
CHAP applies a three-way {handshaking} procedure. After the
link is established, the server sends a "challenge" message to
the originator. The originator responds with a value
calculated using a {one-way hash function}. The server checks
the response against its own calculation of the expected hash
value. If the values match, the authentication is
acknowledged; otherwise the connection is usually terminated.
CHAP provides protection against {playback} attack through the
use of an incrementally changing identifier and a variable
challenge value. The authentication can be repeated any time
while the connection is open limiting the time of exposure to
any single attack, and the server is in control of the
frequency and timing of the challenges. As a result, CHAP
provides grater security then {PAP}.
CHAP is defined in {RFC} 1334.
(05 Mar 1996)
Chalmers University of Technology
A Swedish university founded in 1829 offering master of
science and doctoral degrees. Research is carried out in the
main engineering sciences as well as in technology related
mathematical and natural sciences. Five hundred faculty
members work in more than 100 departments organised in nine
schools. Chalmers collaborates with the University of
Göteborg.
Around 8500 people work and study on the Chalmers campus,
including around 500 faculty members and some 600 teachers and
doctoral students. About 4800 students follow the master
degree programs. Every year 700 Masters of Science in
Engineering and in Architecture graduate from Chalmers, and
about 190 PhDs and licentiates are awarded. Some 40% of
Sweden's engineers and architects are Chalmers graduates.
About a thousand research projects are in progress and more
than 1500 scientific articles and research reports are
published every year. Chalmers is a partner in 80 EC research
projects.
{Home (http://www.chalmers.se/Home-E.html)}
Address: S-412 96 Göteborg, SWEDEN.
Telephone: +46 (31) 772 10 00. Fax: +46 (31) 772 38 72.
(16 Feb 1995)
change management
A set of techniques that aid in evolution, composition and
policy management of the design and implementation of an
object or system.
(16 Feb 1995)
channel
The basic unit of discussion on {IRC}. Once one joins a
channel, everything one types is read by others on that
channel. Channels can either be named with numbers or with
strings that begin with a "#" sign and can have topic
descriptions (which are generally irrelevant to the actual
subject of discussion). Some notable channels are
"#initgame", "#hottub", and "#report". At times of
international crisis, "#report" has hundreds of members, some
of whom take turns listening to various news services and
typing in summaries of the news, or in some cases, giving
first-hand accounts of the action (e.g. Scud missile attacks in
Tel Aviv during the Gulf War in 1991).
(16 Feb 1995)
channel hopping
To rapidly switch channels on {IRC}, or a {GEnie} chat board,
just as a social butterfly might hop from one group to another
at a party. This term may derive from the TV idiom, "channel
surfing".
(29 Nov 1994)
channel op
/chan'l op/ (Or "chanop", "chop") Someone who is endowed with
privileges on a particular {IRC} {channel}. These privileges
include the right to {kick} users, to change various status
bits and to make others into CHOPs.
(30 Jan 1995)
channel service unit
(CSU) A type of interface used to connect a terminal or
computer to a digital medium in the same way that a {modem} is
used for connection to an analogue medium.
A CSU is provided by the communication carrier to customers
who wish to use their own equipment to retime and regenerate
the incoming signals. The customer must supply all of the
transmit logic, receive logic, and timing recovery in order to
use the CSU, whereas a {digital service unit} DSU performs
these functions.
(30 Jan 1995)
channel service unit/data service unit
<communications, hardware> (CSU/DSU) A device that perofrms
both the {channel service unit} (CSU) and {data service unit}
DSU functions. The Channel Service Unit (CSU) is used to
terminate a {DS1} or {DS0} (56/64 kb/s) digital circuit. It
peforms {line conditioning}, protection, {loop-back} and
timing functions. The Data Service Unit (DSU) terminates the
data circuit to the {Data Terminal Equipment} (DTE) and
converts the customer's data stream into a bi-polar format for
transmission.
(28 Feb 1995)
chanop
/chan'-op/ {channel op}.
chaos
A property of some non-linear dynamic systems which exhibit
sensitive dependence on initial conditions. This means that
there are initial states which evolve within some finite time
to states whose separation in one or more dimensions of state
space depends, in an average sense, exponentially on their
initial separation. Such systems may still be completely
{deterministic} in that any future state of the system depends
only on the initial conditions and the equations describing
the change of the system with time. It may, however, require
arbitrarily high precision to actually calculate a future
state to within some finite precision.
["On defining chaos", R. Glynn Holt
<rgholt@voyager.jpl.nasa.gov> and D. Lynn Holt
<lholt@seraph1.sewanee.edu>.
{(ftp://mrcnext.cso.uiuc.edu/pub/etext/ippe/preprints/Phil_of_Science/Holt_and_Holt.On_Defining_Chaos)}]
Fixed precision {floating-point} arithmetic, as used by most
computers, may actually introduce chaotic dependence on
initial conditions due to the accumulation of rounding errors
(which constitutes a non-linear system).
(07 Feb 1995)
CHAP
{Challenge-Handshake Authentication Protocol}
char
<programming> /keir/ or /char/; rarely, /kar/ character.
Especially used by {C} programmers, as "char" is {C}'s
typename for character data.
(29 Nov 1994)
character
<character> A component of a natural {data hierarchy} which
represents one letter or symbol of input-output with the user.
On modern architectures, letters are usually represented in a
{character set} such as {ASCII} using the least significant
seven bits of a {byte} or {word}.
(30 Oct 1995)
characteristic function
<mathematics> The characteristic function of set returns True
if its argument is an element of the set and False otherwise.
(13 Apr 1995)
character set
<character, standard> One of several standard collections of
characters, or a non-standard collection selected for a
particular need. The most widely used character set is
{ASCII}; others such as {ISO Latin 1} and {Kanji} are becoming
more common while {EBCDIC} and {Unicode} are less common.
A character set may include letters, digits, punctuation,
{control codes}, graphics, mathematical symbols, and other
signs. Each character in the set is represented by a unique
character code, which is a {binary} number used for storage
and transmission. For example, the letter "A" has code 65 in
the ASCII set. Different sets have different mappings between
codes and characters.
Some but not all character sets include an {escape character}
which indicates that the following character(s) are to be
treated specially. Escape sequences can be used to extend a
character set to include non-standard meanings within the
domain where they are defined and used, but lead to problems
when transmitted to equipment without the appropriate
software.
In order for a computer to handle a particular character set,
it must be possible to enter all the characters from the
keyboard and to display them on the screen or printer. Some
computers are able to switch between several character sets,
which allows both compatibility with other systems and the
representation of multiple languages. A few systems are
unable to use sets with more than 128 characters (see
{eight bit clean}).
A character set defines the representation of characters as
binary data whereas a {font} defines how characters appear on
the screen or printer.
(21 Jun 1996)
character set identifier
<character> (CSID) (IBM) A number that identifies a {character
set}.
(21 Mar 1995)
Charge-Coupled Device
(CCD) A semiconductor technology used to build light-sensitive
electronic devices such as cameras and image scanners. Such
devices may detect either colour or black-and-white. Each CCD
chip consists of an array of light-sensitive photocells. The
photocell is sensitised by giving it an electrical charge
prior to exposure.
(04 Jan 1995)
CHARITY
A {functional language} based purely on {category theory} by
Cockett, Spencer and Fukushima, 1990-1991.
A version for {Sun4} is available from Tom Fukushima
<fukushim@cpsc.ucalgary.ca>.
["About Charity", J.R.B. Cockett <cockett@cpcs.ucalgary.ca> et
al].
(29 Nov 1994)
charityware
/cha'rit-ee-weir`/ Synonym {careware}.
Charles Babbage
<person> The british inventor known to some as the "Father of
Computing" for his contributions to the basic design of the
computer through his {Analytical machine}. His previous
{Difference Engine} was a special purpose device intended for
the production of mathematical tables.
While he did produce prototypes of portions of the Difference
Engine, it was left to Georg and Edvard Schuetz to construct
the first working devices to the same design which were
successful in limited applications.
Babbage was born on December 26, 1791 in Teignmouth,
Devonshire UK. He entered Trinity College, Cambridge in 1814
and graduated from Peterhouse. In 1817 he received an MA from
Cambridge and in 1823 started work on the Difference Engine
through funding from the British Government. In 1827 he
published a table of {logarithms} from 1 to 108000. In 1828
he was appointed to the Lucasian Chair of Mathematics at
Cambridge (though he never presented a lecture). In 1831 he
founded the British Association for the Advancement of Science
and in 1832 he published "Economy of Manufactures and
Machinery". In 1833 he began work on the Analytical
Engine. In 1834 he founded the Statistical Society of London.
He died in 1871 in London.
Babbage also invented the cowcatcher, the dynamometer,
standard railroad gauge, uniform postal rates, occulting
lights for lighthouses, Greenwich time signals, and the
heliograph opthalmoscope. He also had an interest in cyphers
and lock-picking.
[Adapted from the text by J. A. N. Lee, Copyright September
1994].
(22 Feb 1996)
CHARM
An explicitly parallel programming language based on {C}, for
both shared and nonshared {MIMD} computers.
{(ftp://a.cs.uiuc.edu/pub/CHARM)}
Mailing list: <charm@cs.uiuc.edu>.
["The CHARM(3.2) Programming Language Manual", UIUC (Dec
1992)].
CHARM++
An {object-oriented} parallel programming system, similar to
{CHARM} but based on {C++}.
{(ftp://a.cs.uiuc.edu/pub/CHARM/Charm++)}
E-mail: Sanjeev Krishnan <sanjeev@cs.uiuc.edu>.
[TR 1796, UIUC].
(29 Nov 1994)
Charme
A language with {discrete combinatorial constraint logic}
aimed at industrial problems such as planning and
{scheduling}. Implemented in {C} at {Bull} in 1989.
Charme is an outgrowth of ideas from {CHIP}. It is
semantically {nondeterministic}, with choice and
{backtracking}, similar to {Prolog}.
E-mail: <cras@bull.fr>.
["Charme Reference Manual", AI Development Centre, Bull,
France 1990].
(15 Nov 1994)
CHARYBDIS
A {Lisp} program to display mathematical expressions. It is
related to {MATHLAB}.
[Sammet 1969, p. 522].
(15 Nov 1994)
chase pointers
1. To go through multiple levels of indirection, as in
traversing a linked list or graph structure. Used especially
by programmers in {C}, where explicit pointers are a very
common data type.
See {dangling pointer} and {snap}.
2. (Cambridge) "pointer chase" or "pointer hunt": The process
of going through a {core dump}, interactively or on a large
piece of paper printed with hex {runes}, following dynamic
data-structures. Used only in debugging.
(11 May 1995)
CHASM
CHeap ASseMbler.
A {shareware} {assembler} for {MS-DOS}.
(15 Nov 1994)
chat
{talk}
cheapernet
<networking> (Or "thinnet") A colloquial term for thin-wire
{Ethernet} ({10base2}) that uses {RG58} {coaxial cable}
instead of the full-spec "Yellow Cable".
(28 Mar 1995)
checkdigit
A one-digit {checksum}.
Checkout Test language
(CTL)
["Checkout Test Language: An Interpretive Language Designed
for Aerospace Checkout Tasks", G.S. Metsker, Proc FJCC 33(2)
(1968)].
(14 Nov 1994)
checkpoint
Saving the current state of a program and its data, including
intermediate results to disk or other {non-volatile} storage,
so that if interrupted the program could be restarted at the
point at which the last checkpoint occurred. This facility
came into popular use in {mainframe} {operating systems}s such
as {OS/360} in which programs frequently ran for longer than
the mean time between system failures. If a program run fails
because of some event beyond the program's control
(e.g. hardware or {operating system} failure) then the
processor time invested before the checkpoint will not have
been wasted.
(07 Feb 1995)
checksum
<storage, communications> A computed value which depends on
the contents of a block of data and which is transmitted or
stored along with the data in order to detect corruption of
the data. The receiving system recomputes the checksum based
upon the received data and compares this value with the one
sent with the data. If the two values are the same, the
receiver has some confidence that the data was received
correctly.
The checksum may be 8 bits (modulo 256 sum), 16, 32, or some
other size. It is computed by summing the bytes or words of
the data block ignoring {overflow}. The checksum may be
negated so that the total of the data words plus the checksum
is zero.
{Internet} {packets} use a 32 bit checksum.
See also {digital signature}, {cyclic redundancy check}.
[Is a checksum the same as a CRC?]
(01 Mar 1996)
chemist
(Cambridge) Someone who wastes computer time on {number
crunching} when you'd far rather the computer were doing
something more productive, such as working out anagrams of
your name or printing Snoopy calendars or running {life}
patterns. May or may not refer to someone who actually
studies chemistry.
(07 Feb 1995)
Chen
{Peter Chen}
CHEOPS
A satellite-based batch data dissemination project between
{CERN} and member state institutes.
Chernobyl packet
/cher-noh'b*l pak'*t/ A network packet that induces a
{broadcast storm} and/or {network meltdown}, in memory of the
April 1986 nuclear accident at Chernobyl in Ukraine. The
typical scenario involves an IP Ethernet datagram that passes
through a gateway with both source and destination Ether and
IP address set as the respective broadcast addresses for the
subnetworks being gated between. Compare {Christmas tree
packet}.
chess
<games> A two-player {game} with {perfect information}.
{Usenet} newsgroup: {news:rec.games.chess}.
See also {Internet Chess Server}.
(25 Mar 1995)
CHI
A wide spectrum language, the forerunner of Refine. "Research
on Knowledge-Based Software Environments at Kestrel
Institute", D.R. Smith et al, IEEE Trans Soft Eng, SE-11(11)
(1985).
Chicago
{Windows 95}
chicken head
The {Commodore} Business Machines logo, which strongly
resembles a poultry part. Rendered in ASCII as "C=". With
the arguable exception of the {Amiga}, Commodore's computers
are notoriously crocky little {bitty box}es (see also
{PETSCII}). Thus, this usage may owe something to Philip
K. Dick's novel "Do Androids Dream of Electric Sheep?" (the
basis for the movie "Blade Runner"; the novel is now sold
under that title), in which a "chickenhead" is a mutant with
below-average intelligence.
chiclet keyboard
A keyboard with a small, flat rectangular or lozenge-shaped
rubber or plastic keys that look like pieces of chewing gum.
(Chiclets is the brand name of a variety of chewing gum that
does in fact resemble the keys of chiclet keyboards). Used
especially to describe the original {IBM PCjr} keyboard.
Vendors unanimously liked these because they were cheap, and a
lot of early portable and laptop products got launched using
them. Customers rejected the idea with almost equal
unanimity, and chiclets are not often seen on anything larger
than a digital watch any more.
child record
<database> A {record} lower in the hierarchical tree than a
parent record; it is also directly liked to the parent and
hierarchical {database}s.
(13 Apr 1995)
child version
A version of a version. See {change management}.
CHILI
D.L. Abt. Language for systems programming, based on ALGOL 60
with extensions for structure and type declarations. "CHILI,
An Algorithmic Language for Systems Programming", CHI-1014,
Chi Corp (Sep 1975).
CHILL
{CCITT HIgh-Level Language}
Chimera
A modular, {X Window System}-based {World-Wide Web} {browser}
for {Unix}. Chimera uses the {Athena} {widget} set so {Motif}
is not needed. Chimera supports forms, inline images, {TERM},
{SOCKS}, {proxy server}s, {Gopher}, {FTP}, {HTTP} and local
file accesses. Chimera can be extended using external
programs. New {protocol}s can easily be added and alternate
image formats can be used for inline images
(e.g. {PostScript}).
Version 1.60 is available for
{(ftp://ftp.cs.unlv.edu/pub/chimera)}.
{Home (http://www.unlv.edu/chimera/)}
Chimera runs on {Sun} {SPARC} {SunOS} 4.1.x, {IBM} {RS/6000}
{AIX} 3.2.5, {Linux} 1.1.x. It should run on anything with
{X11}R[3-6], {imake} and a {C} compiler.
(08 Nov 1994)
chine nual
/sheen'yu-*l/ (MIT) The {LISP Machine} Manual, so called
because the title was wrapped around the cover so only those
letters showed on the front.
(02 Dec 1994)
Chinese Army technique
{Mongolian Hordes technique}
CHIP
1. A early system on the {IBM 1103} or 1103A.
[Listed in CACM 2(5):16 (May 1959)].
(15 Nov 1994)
2. {Constraint Handling In Prolog}.
chip
{integrated circuit}
CHIP-48
A reimplementation of {CHIP-8} for the {HP-48} calculator by
Andreas Gustafson <gson@niksula.hut.fi>.
Posted to {news:comp.sys.handhelds} in Sep 1990.
{(ftp://vega.hut.fi/pub/misc/hp48sx/asap)}
(02 Dec 1994)
CHIP-8
<games, language>
A low-level language (really a high-level {machine code})
developed at {RCA} in the late 1970s for video games on
computers using {RCA}'s {CDP1802} processor.
An {interpreter} for the {Amiga} is available by
{(ftp://ftp.cso.uiuc.edu/pub/amiga/fish/f5/ff537/CHIP8.lzh)}.
(02 Dec 1994)
chip box
{chad box}
Chip Scale Packaging
<hardware> (CSP) Surface Mount International attendees debated
chip scale technologies as system manufacturers seek new
levels of package miniaturization for chip-on-board, flip chip
and multichip modules. Technical and marketing gurus
furthered the technical debate by focussing on which chip
scale packaging schemes would be the most cost-effective for
future packages designated for high volume consumer
applications. Bare chip package supporters noted that
mainstream circuitry is readily available in known good die
(KGD) from a number of suppliers. Traditional ball grid array
packages received strong support for current high volume and
high density manufacturing needs. Chip scale packages (CSP)
provide pre-speed-sorted,pre-tested and pre-packaged die
without requiring specialized testing. CSP supporters improved
their position with ChipScale's announcement that Motorola
will license its Micro SMT packaging technology.
["Chip scale packaging gains at SMI. (Surface Mount
International)", Bernard Levine, Electronic News (1991), Sept
4, 1995 v41 n2081 p1(2)].
[But what is it?]
(09 Jul 1996)
chip set
<hardware> A collection of {integrated circuit}s that are
designed to be used together for some specific purpose.
E.g. control circuitry in an {IBM PC}.
(27 Mar 1995)
Chips & Technologies
<company> An {integrated circuit} design company. They
produce {IBM PC} {chipset}s, among other things.
Address: Silicon Valley, California, USA.
(08 Apr 1995)
CHISEL
An extension of {C} for {VLSI} design, implemented as a C
{preprocessor}. It produces {CIF} as output.
["CHISEL - An Extension to the Programming language C for VLSI
Layout", K. Karplus, PHD Thesis, Stanford U, 1982].
chmod
<file system> ("Change mode") The {Unix} command and {system
call} to change the access {permissions} of a named file.
Each file (directory, device, etc.) has nine kinds of access
which can be allowed or denied. Different permissions apply
to the owner of the file, the members of the group the file
belongs to, and all users. Each of these classes of user
(owner, group and other) can have permission to read, write or
execute the file. Chmod can also set various other mode bits
for a file or directory such as the {sticky bit} and the {set
user id} bit.
Unix {man} page: chmod
(31 Jan 1995)
CHOCS
A generalisation of {CCS}.
["A Calculus of Higher-Order Communicating Systems",
B. Thomsen, 16th POPL pp.143-154 (1989)].
choke
1. To reject input, often ungracefully. "NULs make System V's
"lpr(1)" choke." "I tried building an {EMACS} binary to use
{X}, but "cpp(1)" choked on all those "#define"s." See
{barf}, {gag}.
2. [MIT] More generally, to fail at any endeavor, but with
some flair or bravado; the popular definition is "to snatch
defeat from the jaws of victory."
chomp
<jargon> To {lose}; specifically, to chew on something of
which more was bitten off than one can. Probably related to
gnashing of teeth.
See {bagbiter}.
A hand gesture commonly accompanies this. To perform it, hold
the four fingers together and place the thumb against their
tips. Now open and close your hand rapidly to suggest a
biting action (much like what Pac-Man does in the classic
video game, though this pantomime seems to predate that). The
gesture alone means "chomp chomp" (see {Verb Doubling}). The
hand may be pointed at the object of complaint, and for real
emphasis you can use both hands at once. Doing this to a
person is equivalent to saying "You chomper!" If you point
the gesture at yourself, it is a humble but humorous admission
of some failure. You might do this if someone told you that a
program you had written had failed in some surprising way and
you felt dumb for not having anticipated it.
(01 Jun 1996)
CHOP
/chop/ [IRC] See {channel op}.
Chop
A {code generator} by Alan L. Wendt <wendt@CS.ColoState.EDU>
for the {lcc} {C} compiler {front end}. Version 0.6 is
interfaced with Fraser and Hanson's {lcc} {front end}. The
result is a {C} compiler with good code selection but no
{global optimisation}. Chop can currently compile and run
small test programs on the {VAX}. The {NS32k} and {68000}
code generators are being upgraded for lcc compatibility.
{(ftp://beethoven.cs.colostate.edu/pub/chop/0.6.tar.Z)}
["Fast Code Generation Using Automatically-Generated Decision
Trees", ACM SIGPLAN '90 PLDI].
(28 Apr 1993)
Chorus
A distributed {operating system} developed at {INRIA}.
Christmas tree
A kind of RS-232 line tester or breakout box featuring rows of
blinking red and green LEDs suggestive of Christmas lights.
Christmas tree packet
A packet with every single option set for whatever protocol is
in use. See {kamikaze packet}, {Chernobyl packet}. (The term
doubtless derives from a fanciful image of each little option
bit being represented by a different-coloured light bulb, all
turned on.)
chrome
[automotive slang via wargaming] Showy features added to
attract users but contributing little or nothing to the power
of a system. "The 3D icons in {Motif} are just chrome, but
they certainly are *pretty* chrome!" Distinguished from
{bells and whistles} by the fact that the latter are usually
added to gratify developers' own desires for featurefulness.
Often used as a term of contempt.
chroot
<operating system> The {UNIX} command to make the {root
directory} (/) become something other than its default for the
lifetime of the current process. It can only be run by
privileged users and is used to give a process (commonly a
network server such as {FTP} or {HTTP}) access to a restricted
portion of the {file system}.
The new root contains copies of all the essential files and
directories, e.g. /lib, /dev/tty, /tmp.
(08 Dec 1996)
CHRP
{PowerPC Platform}
chug
<jargon> To run slowly; to {grind} or {grovel}. "The disk is
chugging like crazy."
(25 Mar 1995)
Church, Alonzo
{Alonzo Church}
Church integer
A representation of integers as functions invented by {Alonzo
Church}, inventor of {lambda-calculus}. The integer N is
represented as a {higher-order function} which applies a given
function N times to a given expression. In the {pure
lambda-calculus} there are no constants but numbers can be
represented by Church integers.
A {Haskell} function to return a given Church integer could be
written:
church n = c
where
c f x = if n == 0 then x else c' f (f x)
where
c' = church (n-1)
A function to turn a Church integer into an ordinary integer:
unchurch c = c (+1) 0
See also {von Neumann integer}.
(29 Nov 1994)
Church of the SubGenius
<body, humour> A mutant offshoot of {Discordianism} launched
in 1981 as a spoof of fundamentalist Christianity by the
"Reverend" Ivan Stang, a brilliant satirist with a gift for
promotion. Popular among hackers as a rich source of bizarre
imagery and references such as "Bob" the divine
drilling-equipment salesman, the Benevolent Space Xists, and
the Stark Fist of Removal. Much SubGenius theory is concerned
with the acquisition of the mystical substance or quality of
{slack}.
{Home (http://sunsite.unc.edu/subgenius/slack.html)}
(02 Jan 1996)
Church-Rosser Theorem
This property of a {reduction} system states that if an
expression can be reduced by zero or more reduction steps to
either expression M or expression N then there exists some
other expression to which both M and N can be reduced. This
implies that there is a unique {normal form} for any
expression since M and N cannot be different normal forms
because the theorem says they can be reduced to some other
expression and normal forms are irreducible by definition. It
does not imply that a normal form is reachable, only that if
reduction terminates it will reach a unique normal form.
(25 Jan 1995)
CI$
CIS, {CompuServe Information Service}. Also {Compu$erve}.
The dollar sign refers to CompuServe's rather steep line
charges. Often used in {sig block}s just before a CompuServe
address.
(25 Jan 1995)
CICERO
Control Information system Concepts based on Encapsulated
Real-time Objects.
A {CERN} {DRDC} proposal.
(25 Jan 1995)
CICS
{Customer Information Control System}
CID
{Caller ID}
CIDR
{Classless Inter-Domain Routing}
CIEL
An {object-oriented} {Prolog}-like language.
["CIEL: Classes et Instances En Logique", M. Gandriau, Thesis
ENSEEIHT (1988)].
(25 Jan 1995)
CIF
Caltech Intermediate Form.
Geometry language for VLSI design, in which the primitives are
coloured rectangles.
["Introduction to VLSI Systems", Mead & Conway, A-W 1980,
Section 4.5].
(25 Jan 1995)
Cigale
A parser generator language with extensible syntax. "CIGALE:
A Tool for Interactive Grammar Construction and Expression
Parsing", F. Voisin, Sci Comp Prog 7:61-86 (1986).
CIL
1. {Component Integration Laboratories}.
2. Common Intermediate Language.
["Construction of a Transportable, Milti-Pass Compiler for
Extended Pascal", G.J. Hansen et al, SIGPLAN Notices
14(8):117-126 (Aug 1979)].
(24 Oct 1994)
CIM
{Computer Integrated Manufacturing}
CIMS PL/I
Courant Institute of Mathematical Sciences PL/I. A PL/I
subset.
["CIMS PL/I", P.W. Abrahams, Courant Inst].
Cinderella Book
<publication> "Introduction to Automata Theory, Languages, and
Computation", by John Hopcroft and Jeffrey Ullman,
(Addison-Wesley, 1979). So called because the cover depicts a
girl (putatively Cinderella) sitting in front of a Rube
Goldberg device and holding a rope coming out of it. On the
back cover, the device is in shambles after she has
(inevitably) pulled on the rope.
See also: {book titles}.
(03 Dec 1996)
CINT92
{SPEC CINT92}
C-Interp
An {interpreter} for a small subset of {C}, originally part of
a communications package.
{(ftp://oac2.hsc.uth.tmc.edu/Mac/Misc/C_Interp.sit)}. E-mail:
Chuck Shotton <cshotton@oac.hsc.uth.tmc.edu>.
(14 May 1993)
ciphertext
<cryptography> Text which has been encrypted by some
{encryption} system.
Oppose {plaintext}.
(27 Oct 1994)
CIP-L
CIP Language. (CIP stands for Computer-aided Intuition-guided
Programming.) Wide-spectrum language for incremental program
transformation. There are ALGOL-like and Pascal-like
variants.
["The Munich Project CIP, v.I: The Wide Spectrum Language
CIP-L", LNCS 183, Springer 1984. Version: CIP85].
CIR
{Committed Information Rate}
CIRCAL
["CIRCAL and the Representation of Communication, Concurrency
and TIme", G.J. Mitre, ACM TOPLAS 7(2):270-298 (1985)].
circuit switched
Using {circuit switching}.
circuit switching
A communications paradigm in which a dedicated communication
path is established between the sender and receiver along
which all {packet}s travel. The telephone system is an
example of a circuit switched network. Also called
{connection-oriented}. Contrast {connectionless}, {packet
switching}.
Cirrus Logic
<company> A manufacturer of {integrated circuits} including
the {Advanced RISC Machine} and display interface processors
and cards for use as {Windows accelerators} (requiring
dedicated driver software).
{Home (http://www.cirrus.com/)}.
[Other products?]
(13 Oct 1996)
CIS
1. <programming> {Case Integration Services}.
2. <networking> {Cooperative Information System}.
CISC
{Complex Instruction Set Computer}
Cisco Systems, Inc.
<company> {Ethernet} hardware manufacturers.
{Home (http://www.cisco.com/)}
Address: 170 West Tasman Drive, San Jose, CA 95134-1706, USA.
Telephone: +1 408 526 4000, +1 800 553 6387. Fax: +1 408 526
4100.
(19 Apr 1995)
CISI
A French software house.
CITRAN
{Caltech}'s answer to {MIT}'s {JOSS}.
[Sammet 1969, p.217].
CityScape
<company> A re-seller of {Internet} connections to the {PIPEX}
{backbone}.
E-Mail: <sales@cityscape.co.uk>.
Address: CityScape Internet Services, 59 Wycliffe Rd.,
Cambridge, CB1 3JE, England. Telephone: +44 (1223) 566 950.
(08 Nov 1994)
CIX
1. {Commercial Internet Exchange}.
2. {Compulink Information eXchange}.
CL
Control Language.
The batch language for {IBM RPG}/38, used in conjunction with
{RPG III}.
See also {OCL}.
(08 Nov 1994)
CLAM
<mathematics, tool> A system for {symbolic mathematics},
especially General Relativity. It was first implemented in
{ATLAS} {assembly language} and later {Lisp}.
See also {ALAM}.
["CLAM Programmer's Manual", Ray d'Inverno & Russell-Clark,
King's College London, 1971].
(08 Nov 1994)
C Language Integrated Production System
<language> (CLIPS) A language produced by Gary Riley of NASA
{JSC} in Houston, Texas, for developing {expert system}s, with
the inferencing and representation capabilities of {OPS5} and
support for {forward chaining} rule-based, {object-oriented}
and {procedural} programming. CLIPS has a {Lisp}-like
{syntax}. It is available for {MS-DOS} and comes with source
code in {C}.
COSMIC, U Georgia, (404) 542-3265. Austin Code Works
<info@acw.com> (512) 258-0785.
Versions include CLIPS 5.1, CLIPS/Ada 4.3 and CLIPS6.0 (see
{PCLIPS}).
{Home (http://www.jsc.nasa.gov/~clips/CLIPS.html)}
E-mail: <service@cossack.cosmic.uga.edu>.
Telnet: cosmic.uga.edu, user: cosline.
{U. Michigan
(ftp://earth.rs.itd.umich.edu/mac.bin/etc/compsci/Clips/)},
{ENSMP, France (ftp://ftp.ensmp.fr/pub/clips/)}.
Mailing list: <CLIPS-LIST@UGA.BITNET>.
["Expert Systems: Principles and Programming", Joseph
Giarratano and Gary Riley, PWS Publ 1994, ISBN 0-534-93744-6].
(16 Dec 1994)
Clarion
A {fourth generation language} for {MS-DOS}.
(09 Nov 1994)
CLASP
Computer Language for AeronauticS and Programming.
A {real-time} language from NASA focussing on {fixed-point}
mathematics. CLASP is a near subset of {SPL}, with some ideas
from {PL/I}.
["Flight Computer and Language Processor Study", Raymond
J. Rubey, Management Information Services, Detroit, 1971].
(13 Oct 1994)
class
1. <programming> The prototype for an {object} in an
{object-oriented language}; analogous to a {derived type} in a
{procedural language}. A class may also be considered to be a
set of objects which share a common structure and behaviour.
The structure of a class is determined by the variables which
represent the state of an object of that class and the
behaviour is given by a set of {method}s associated with the
class.
Classes are related in a {class hierarchy}. One class may be
a specialisation (a "{subclass}") of another (one of its
"{superclass}es") or it may be composed of other classes or it
may use other classes in a {client-server} relationship. A
class may be an {abstract class} or a {concrete class}.
See also {signature}.
2. <programming> See {type class}.
3. <networking> One of three types of {Internet addresses}
distinguished by their most significant bits.
3. <language> A language developed by the {Andrew Project}.
It was one of the first attempts to add {object-oriented}
features to {C}.
(01 May 1995)
class hierarchy
A set of {class}es and their interrelationships.
One class may be a specialisation (a "{subclass}" or "{derived
class}") of another which is one of its "{superclass}es" or
{base class}es.
(07 Feb 1995)
classic
<jargon> An adjective used before or after a noun to describe
the original version of something. This construction is
especially used of product series in which the newer versions
are considered worse than the older ones.
Examples include "Star Trek Classic" - the original TV series
as opposed to the films, ST The Next Generation or any of the
other spin-offs and follow-ups; or "PC Classic" - {IBM}'s
{ISA}-bus computers as opposed to the {PS/2} series.
(27 Oct 1996)
Classic-Ada
An {object-oriented} extension to {Ada}, said to be like
{Smalltalk}. It is implemented as an {Ada} {preprocessor}.
(05 Dec 1994)
classical logic
<logic> Non-{intuitionist logic}.
(13 Apr 1995)
Classic C
/klas'ik C/ (Or "C Classic", a play on "Coke Classic") The {C}
programming language as defined in the first edition of {K&R},
with some small additions. It is usually known as "{K&R C}".
The name came into use while C was being standardised by the
{ANSI X3J11} committee.
See also {classic}.
Classless Inter-Domain Routing
<networking> (CIDR) /sid*r/ A scheme which allocates blocks of
{Internet addresses} in a way that allows summarisation into a
smaller number of {routing table} entries.
A CIDR block is a block of {Internet addresses} assigned to an
{Internet Service Provider} (ISP) by the {Internic}.
CIDR was introduced to enable the use of more sophisticated
{routing} protocols such as {OSPF}.
See {RFC 1467}, {RFC 1518}, {RFC 1519} and {RFC 1520}.
[Is this true? Relation to classes?]
(06 Mar 1997)
class library
A library of reusable {class}es for use with an
{object-oriented programming} system.
(05 Dec 1994)
Class Oriented Ring Associated Language
(CORAL) A language developed by L.G. Roberts at {MIT} in 1964
for graphical display and systems programming on the {TX-2}.
It used "rings" (circular lists) from {Sketchpad}.
["Graphical Communication and Control Languages",
L.B. Roberts, Information System Sciences: Proc Second
Congress, 1965].
[Sammet 1969, p.462].
(30 Nov 1994)
Class-Relation Method
A design technique based on the concepts of {object-oriented
programming} and the {Entity-Relationship model} from the
French company {Softeam}.
(05 Dec 1994)
Clean
<language> A {lazy} {higher-order} {purely functional
language} from the {University of Nijmegen}. Clean was
originally a subset of {Lean}, designed to be an experimental
{intermediate language} and used to study the {graph
rewriting} model. To help focus on the essential
implementation issues it deliberately lacked all {syntactic
sugar}, even {infix} expressions or {complex lists},
As it was used more and more to construct all kinds of
applications it was eventually turned into a general purpose
functional programming language, first released in May 1995.
The new language is {strongly typed} (Milner/Mycroft type
system), provides {module}s and {functional I/O} (including a
{WIMP} interface), and supports {parallel processing} and
{distributed processing} on {loosely coupled} parallel
architectures. Parallel execution was originally based on the
{PABC} {abstract machine}.
It is one of the fastest implementations of functional
languages available, partly aided by programmer {annotations}
to influence evaluation order.
Although the two variants of Clean are rather different, the
name Clean can be used to denote either of them. To
distinguish, the old version can be referred to as Clean 0.8,
and the new as Clean 1.0 or Concurrent Clean.
The current release of Clean (1.0) includes a compiler,
producing code for the {ABC} {abstract machine}, a {code
generator}, compiling the ABC code into either {object-code}
or {assembly language} (depending on the {platform}), I/O
libraries, a {development environment} (not all platforms),
and {documentation}. It is supported (or will soon be
supported) under {MacOS}, {Linux}, {OS/2}, {Windows 95},
{SunOS}, and {Solaris}.
{Home (http://www.cs.kun.nl/~clean/)}. E-mail:
<clean@cs.kun.nl>. Mailing list: <clean-request@cs.kun.nl>.
["Clean - A Language for Functional Graph Rewriting", T. Brus
et al, IR 95, U Nijmegen, Feb 1987].
["Concurrent Clean", M.C. van Eekelen et al, TR 89-18, U
Nijmegen, Netherlands, 1989].
(08 Nov 1995)
clean
1. Used of hardware or software designs, implies "elegance in
the small", that is, a design or implementation that may not
hold any surprises but does things in a way that is reasonably
intuitive and relatively easy to comprehend from the outside.
The antonym is "grungy" or {crufty}.
2. To remove unneeded or undesired files in a effort to reduce
clutter: "I'm cleaning up my account." "I cleaned up the
garbage and now have 100 Meg free on that partition."
(12 Dec 1994)
Cleanroom
A software development approach aimed at producing software
with the minimum number of errors.
(12 Dec 1994)
CLEAR
A {specification language} based on {initial algebra}s.
["An Informal Introduction to Specification Using CLEAR",
R.M. Burstall in The Correctness Problem in Computer Science,
R.S. Boyer et al eds, Academic Press 1981, pp. 185-213].
(03 Nov 1994)
clear box testing
{white box testing}
CLEO
Clear Language for Expressing Orders.
A language developed by {ICL} in the 1960s and used until
early 1972 on {Leo} III {mainframe}s.
(03 Nov 1994)
CLHEP
A {C++} {class library} for high energy physics
{application}s.
(12 Dec 1994)
CLI
1. <operating system> {Command Line Interface}.
2. <database, standard> {Call-Level Interface}.
(04 Mar 1997)
CLiCC
A {Common Lisp} to {C} compiler by Heinz Knutzen
<hk@informatik.uni-kiel.de>, Ulrich Hoffman
<uho@informatik.uni-kiel.de> and Wolfgang Goerigk
<wg@informatik.uni-kiel.de>. CLiCC is meant to be used as a
supplement to existing {CLISP} systems for generating portable
applications. Target {C} code must be linked with CLiCC
{run-time library} to produce an executable.
Version 0.6.2 conforms to a subset of {Common Lisp} and {CLOS}
called CL_0 or CommonLisp_0 and based on {CLtL1}. It runs
with {Lucid Lisp}, {AKCL} or {CLISP}. Work on {CLtL2} and
{ANSI-CL} conformance is in progress.
{(ftp://ftp.informatik.uni-kiel.de/pub/kiel/apply/)}
(04 Jan 1994)
click
What the user does when he presses a button on a {mouse} or
other {pointing device}. This generates an event, also
specifying the screen position, which is processed by the
{window manager} or {application program}.
(14 Mar 1995)
client
A computer system or process that requests a service of
another computer system or process (a "{server}"). For
example, a {workstation} requesting the contents of a file
from a {file server} is a client of the file server.
See also {client-server}.
client-server
<programming> A common form of {distributed system} in which
software is split between {server} tasks and {client} tasks.
A client sends requests to a server, according to some
{protocol}, asking for information or action, and the server
responds. There may be either one centralised server or
several distributed ones. This model allows clients and
servers to be placed independently on nodes in a network,
possibly on different {hardware} and {operating systems}
appropriate to their function, e.g. fast server/cheap client.
Examples are the name-server/name-resolver relationship in
{DNS}, the file-server/file-client relationship in {NFS} and
the screen server/client application split in the {X Window
System}.
{Usenet} newsgroup: {news:comp.client-server}.
(11 Jun 1996)
client/server
{client-server}
client-server model
{client-server}
Client To Client Protocol
<networking> (CTCP) A type of {protocol} created to allow
structured data such as {font} information to be exchanged
between users on {IRC}. It is also used to send a query to a
user. The available CTCP commands include VERSION, FINGER,
DCC CHAT, DCC SEND, TIME, PING, ECHO, CLIENTINFO. Some
commands are not available on some IRC {client} software.
(12 Apr 1995)
C++Linda
["The AUC C++Linda System", C. Callsen et al, U Aalborg, in
Linda-Like Systems and Their Implementation, G. Wilson ed, U
Edinburgh TR 91-13, 1991].
(12 Dec 1994)
C-Linda
The most widely used variant of {Linda}, with {C} as the base
language. It is available from Sci Comp Assocs
<linda@sca.com>.
(12 Dec 1994)
CLIP
1. {Compiler Language for Information Processing}.
2. {Common LISP in Parallel}.
CLiP
A documentation extractor by Eric W. van Ammers
<ammers@rcl.wau.nl>. CLiP recognises a particular style of
comments. This style can be adjusted to suit virtually any
source programming language and target documentation language.
CLiP was designed to be compatible with {hypertext} systems.
Version 2.1 runs on {MS-DOS}, {VAX}/{VMS} and {Unix}
{(ftp://sun01.info.wau.nl/clip/)}
(18 Nov 1993)
clipboard
<operating system> A temporary memory area, used to transfer
information within a document being edited or between
documents or between programs. The fundamental operations are
"cut" which moves data from a document to the clipboard,
"copy" which copies it to the clipboard, and "paste" which
inserts the clipboard contents into the current document in
place of the current selection.
Different {Graphical User Interfaces} vary in how they handle
the different types of data which a user might want to
transfer via the clipboard, some (e.g. the {X Window System})
support only plain text, others (e.g. {NEXTSTEP}) support
arbitrarily typed data.
(23 Aug 1996)
Clipper
1. <hardware, cryptography> An {integrated circuit} which
implements the {SkipJack} {algorithm}. The Clipper is
manufactured by the US government to encrypt telephone data.
It has the added feature that it can be decrypted by the US
government, which has tried to make the chip compulsory in the
United States. Phil Zimmerman (inventor of {PGP}) remarked,
"This doesn't even pass the sniff test" (i.e. it stinks).
{(http://www.wired.com/clipper/)}
{news:alt.privacy.clipper}
2. A compiled {dBASE} dialect from Nantucket Corp, LA.
Versions: Winter 85, Spring 86, Autumn 86, Summer 87, 4.5
(Japanese Kanji), 5.0.
(25 Mar 1995)
CLIPS
<language> {C Language Integrated Production System}.
clique
<mathematics> A {maximal} {totally connected} {subgraph}.
Given a {graph} with {nodes} N, a clique C is a {subset} of N
where every node in C is directly connected to every other
node in C (i.e. C is totally connected), and C contains all
such nodes (C is maximal). In other words, a clique contains
all, and only, those nodes which are directly connected to all
other nodes in the clique.
[Is this correct?]
(22 Sep 1996)
CLISP
1. {Conversational LISP}.
2. A {Common Lisp} implementation by Bruno Haible
<haible@ma2s2.mathematik.uni-karlsruhe.de> of {Karlsruhe
University} and Michael Stoll <michael@rhein.iam.uni-bonn.de>
of {Munich University}, both in Germany. CLISP includes an
{interpreter}, {bytecode compiler}, {run-time library} and
editor and needs only 1.5 MB of {RAM}. German and English
versions are available, French soon.
Packages running in CLISP include {PCL} and {CLX} on {Unix}
machines. A native subset of {CLOS} is included.
Version 1993/10/06 conforms to {CLtL1} and parts of {CLtL2}
and is distributed under the {GNU} {General Public License}.
CLISP runs on {Atari}, {Amiga}, {MS-DOS}, {OS/2}, {Linux},
{Sun4}, {Sun386i}, {HP90000}/800 and others.
{(ftp://ma2s2.mathematik.uni-karlsruhe.de/pub/lisp/clisp)}
Mailing list: <listserv@ma2s2.mathematik.uni-karlsruhe.de>
(send "subscribe clisp-list").
(06 Oct 1993)
CLIX
["Overview of a Parallel Object-Oriented Language CLIX",
J. Hur et al, in ECOOP '87, LNCS 276, Springer 1987,
pp.265-273].
(16 Dec 1994)
CLM
{Career Limiting Move}
CLNP
{ConnectionLess Network Protocol}
clobber
To overwrite, usually unintentionally: "I walked off the end
of the array and clobbered the stack."
Compare {mung}, {scribble}, {trash}, and {smash the stack}.
(16 Dec 1994)
clock
A processor's clock or one {cycle} thereof. The relative
execution times of instructions on a computer are usually
measured by number of clock cycles rather than seconds. One
good reason for this is that {clock rate}s for various models
of the computer may increase as technology improves, and it is