EDP Dictionary - A A#
<language> /A sharp/ A separable component of Version 2 of the
{AXIOM*} computer algebra system. It provides a programming
language with an {optimising compiler}, an {intermediate code}
{interpreter}, and a library of data structures and
mathematical {abstraction}s. The compiler produces
{stand-alone executable} programs, {object} libraries in
{native} {operating system} formats, {portable} {bytecode}
libraries, {C} and {Lisp} {source code}.
The A# programming language has support for {object-oriented}
and {functional programming} styles. Both types and functions
are {first class} values that can be manipulated with a range
of flexible and composable {primitive}s and user programs.
The A# language design places particular emphasis on
compilation for efficient {machine code} and portability.
Ports have been made to various 16, 32, and 64 bit
architectures: {RS/6000}, {SPARC}, {DEC Alpha}, {i386},
{i286}, {Motorola 680x0}, {S 370}; several {operating
system}s: {Linux}, {AIX}, {SunOS}, {HP/UX}, {Next}, {Mach} and
other {Unix} systems, {OS/2}, {DOS}, {Microsoft Windows},
{VMS} and {CMS}; {C} compilers: {Xlc}, {gcc}, {Sun},
{Borland}, {Metaware} and {MIPS} C.
(07 Feb 1995)
A-0
<language> (Or A0) A language for the {UNIVAC I} or II, using
{three-address code} instructions for solving mathematical
problems. A-0 was the first language for which a {compiler}
was developed. It was produced by {Grace Hopper}'s team at
{Remington Rand} in 1952. Later internal versions were A-1,
A-2, A-3, AT-3. AT-3 was released as {MATH-MATIC}.
["The A-2 Compiler System", Rem Rand, 1955].
[Sammet 1969, p. 12].
(03 Dec 1995)
a1
<language> Address 1 code.
An a1 code {interpreter}, by Matthew Newhook
<matthew@engr.mun.ca> was used to test compiler output. It
requires {gcc} 2.4.2 or higher and is portable to computers
with {memory segment} protection.
{(ftp://ftp.cs.mun.ca/pub/a1)}
(19 Jul 1994)
A1 security
{Orange Book}
A20 handler
<software, storage> {IBM PC} memory manager software providing
{HMA}. {XMM}s usually provide this functionality. Named
after the 21st address line (A20), controlling the access to
HMA.
(10 Jan 1996)
a56
<language> An {assembler} for the {Motorola} {DSP56000} and
{DSP56001} {digital signal processor}s by Quinn Jensen
<jensenq@qcj.icon.com>. Version 1.1 is available from an
{alt.sources} archive or {(ftp://wuarchive.wustl.edu/)}.
(10 Aug 1992)
AADL
{Axiomatic Architecture Description Language}
AAL
{ATM Adaptation Layer}
AAP
{Association of American Publishers}
AAP DTD
<standard> A {DTD} for a standard {SGML} document type for
scientific documents, defined by the {Association of American
Publishers}.
(08 Nov 1994)
aard
<tool> A tool to check memory use for {C++} programs. It
tracks the state of each byte of memory in the {heap} and the
{stack}. The state can be one of Undefined, Uninitialised,
Free or Set. The program can detect invalid transitions
(i.e. attempting to set or use undefined or free storage or
attempting to access uninitialised storage).
In addition, the program keeps track of heap use through
{malloc} and {free} and at the end of the run reports memory
blocks that were not freed and that are not accessible
(i.e. {memory leak}s).
The tools works using a spliced-in {shared library} on
{SPARC}s running {C++} 3.0.1 under {SunOS} 4.X.
{(ftp://wilma.cs.brown.edu/pub/aard.tar.Z)}
E-mail: Steve Reiss <spr@cs.brown.edu>.
[Why "aard"?]
(13 Oct 1994)
abbrev
<jargon> /*-breev'/, /*-brev'/ Common abbreviation for
"abbreviation".
(27 Feb 1995)
ABC
1. <language> An {imperative} language and programming
environment from {CWI}, Netherlands. It is interactive,
structured, high-level, and easy to learn and use. It is a
general-purpose language which you might use instead of
{BASIC}, {Pascal} or {AWK}. It is not a systems-programming
language but is good for teaching or prototyping.
ABC has only five data types that can easily be combined;
strong typing, yet without declarations; data limited only by
memory; refinements to support top-down programming; nesting
by indentation. Programs are typically around a quarter the
size of the equivalent {Pascal} or {C} program, and more
readable.
ABC includes a programming environment with {syntax-directed}
editing, {suggestion}s, {persistent variable}s and multiple
workspaces and {infinite precision} arithmetic.
An example function words to collect the set of all words in a
document:
HOW TO RETURN words document:
PUT {} IN collection
FOR line in document:
FOR word IN split line:
IF word not.in collection:
INSERT word IN collection
RETURN collection
{Interpreter}/{compiler}, version 1.04.01, by Leo Geurts,
Lambert Meertens, Steven Pemberton <Steven.Pemberton@cwi.nl>.
ABC has been ported to {Unix}, {MS-DOS}, {Atari}, {Macintosh}.
{Home (http://www.cwi.nl/cwi/projects/abc.html)}
{FTP eu.net (ftp://ftp.eu.net/programming/languages/abc)},
{FTP nluug.nl (ftp://ftp.nluug.nl/programming/languages/abc)},
{FTP uunet (ftp://ftp.uu.net/languages/abc)}.
Mailing list: <abc-list-request@cwi.nl>.
E-mail: <abc@cwi.nl>.
["The ABC Programmer's Handbook" by Leo Geurts, Lambert
Meertens and Steven Pemberton, published by Prentice-Hall
(ISBN 0-13-000027-2)].
["An Alternative Simple Language and Environment for PCs" by
Steven Pemberton, IEEE Software, Vol. 4, No. 1, January 1987,
pp. 56-64.]
(09 Feb 1995)
2. <language> Argument, Basic value, C?.
An {abstract machine} for implementation of {functional
language}s and its intermediate code.
[P. Koopman, "Functional Programs as Executable
Specifications", 1990].
(09 Feb 1995)
ABC ALGOL
<language> An extension of {ALGOL 60} with arbitrary data
structures and user-defined operators, for {symbolic
mathematics}.
["ABC ALGOL, A Portable Language for Formula Manipulation
Systems", R.P. van de Riet, Amsterdam Math Centrum 1973].
(28 Oct 1994)
ABCL/1
<language> An Object-Based Concurrent Language.
The language for the {ABCL} {MIMD} system, written by Akinori
Yonezawa <matsu@is.s.u-tokyo.ac.jp> of Department of
Information Science, {Tokyo University} in 1986. ABCL/1 uses
{asynchronous} {message passing} to {object}s. It requires
{Common Lisp}. Implementations in {KCL} and {Symbolics Lisp}
are available from the author.
{(ftp://camille.is.s.u-tokyo.ac.jp/)}
E-mail: <abcl@is.s.u-tokyo.ac.jp>.
["ABCL: An Object-Oriented Concurrent System", A. Yonezawa ed,
MIT Press 1990]. (23 May 1990).
(09 Feb 1995)
ABCL/c+
<language> A {concurrent} {object-oriented} language, an
extension of {ABCL/1} based on {C}.
["An Implementation of An Operating System Kernel using
Concurrent Object Oriented Language ABCL/c+", N. Doi et al in
ECOOP '88, S. Gjessing et al eds, LNCS 322, Springer 1988].
(08 Nov 1994)
ABCL/R
<language> A {reflective} subset of {ABCL/1}, written in
ABCL/1 by Yonezawa of {Tokyo Institute of Technology} in 1988.
{(ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr)}
["Reflection in an Object-Oriented Concurrent Language",
T. Watanabe et al, SIGPLAN Notices 23(11):306-315 (Nov 1988)].
(08 Nov 1994)
ABCL/R2
<language> An {object-oriented}, {concurrent}, {reflective}
language based on {Hybrid Group Architecture}. ABCL/R2 was
produced by <masuhara@is.s.u-tokyo.ac.jp>,
<matsu@is.s.u-tokyo.ac.jp>, <takuo@is.s.u-tokyo.ac.jp>,
<yonezawa@is.s.u-tokyo.ac.jp>, at the {Tokyo Institute of
Technology} in 1992.
As a reflective language, an ABCL/R2 program can dynamically
control its own behaviour, such as {scheduling} policy, from
within a user-program. This system has almost all functions
of {ABCL/1} and is written in {Common Lisp}.
{(ftp://camille.is.s.u-tokyo.ac.jp/pub/abclr2/)}
(28 Jan 1993)
abduction
<logic> The generation of hypotheses to explain observations
or conclusions. Applications include fault diagnosis, plan
formation and {default reasoning}.
Both the {semantics} and the implementation of abduction can
be reduced to those for {deduction}. {Negation as failure} in
{logic programming} can both be given an abductive
interpretation and also can be used to implement abduction.
The abductive semantics of negation as failure leads naturally
to an {argumentation}-theoretic interpretation of default
reasoning in general.
[Better explanation? Example?]
(08 Nov 1994)
ABEND
<jargon> /o'bend/, /*-bend'/ ABnormal END. Abnormal
termination (of {software}); {crash}; {lossage}. Derives from
an error message on the {IBM 360}; used jokingly by hackers
but seriously mainly by {code grinder}s. Usually capitalised,
but may appear as "abend". Hackers will try to persuade you
that ABEND is called "abend" because it is what system
operators do to the computer late on Friday when they want to
call it a day, and hence is from the German "Abend" =
"Evening".
(08 Nov 1994)
ABI
{Application Binary Interface}
ABLE
<language> A simple language for accountants.
["ABLE, The Accounting Language, Programming and Reference
Manual," Evansville Data Proc Center, Evansville, IN, Mar
1975].
[Listed in SIGPLAN Notices 13(11):56 (Nov 1978)].
(08 Nov 1994)
abort
<programming> To terminate a program or {process} abnormally
and usually suddenly, with or without {diagnostic}
information. "My program aborted", "I aborted the
transmission". The noun form in computing is "abort", not
"abortion", e.g. "We've had three aborts over the last two
days".
If a {Unix} {kernel} aborts it is known as a {panic}.
(07 Jan 1997)
ABP
<networking> A {datalink layer} protocol.
[What does it stand for?]
(15 Jun 1996)
ABR
{automatic baud rate detection}
abscissa
<mathematics> The x-coordinate on an (x,y) graph; the input of
a function against which the output is plotted.
y is the "{ordinate}".
(15 Jun 1996)
ABSET
<language> An early {declarative language} from the
{University of Aberdeen}.
["ABSET: A Programming Language Based on Sets", E.W. Elcock et
al, Mach Intell 4, Edinburgh U Press, 1969, pp.467-492].
(08 Nov 1994)
absolute path
<file system> A {path} relative to the {root directory}. Its
first character must be the {pathname separator}.
(21 Nov 1996)
absolute pathname
<file system> A {pathname} relative to the {root directory}.
(21 Nov 1996)
abstract class
<programming> In {object-oriented programming}, a {class}
designed only as a parent from which sub-classes may be
derived, but which is not itself suitable for instantiation.
Often used to "abstract out" incomplete sets of features which
may then be shared by a group of sibling sub-classes which add
different variations of the missing pieces.
(08 Nov 1994)
abstract data type
<programming> (ADT) A type whose internal form is hidden
behind a set of {access function}s. Objects of the type are
created and inspected only by calls to the access functions.
This allows the implementation of the type to be changed
without requiring any changes outside the {module} in which it
is defined.
Abstract data types are central to {object-oriented
programming} where every {class} is an ADT.
A classic example of an ADT is a {stack} data type for which
functions might be provided to create an empty stack, to
{push} values onto a stack and to {pop} values from a stack.
(22 Feb 1995)
abstract interpretation
<theory> A partial execution of a program which gains
information about its {semantics} (e.g. control structure, flow
of information) without performing all the calculations.
Abstract interpretation is typically used by compilers to
analyse programs in order to decide whether certain
optimisations or transformations are applicable.
The objects manipulated by the program (typically values and
functions) are represented by points in some {domain}. Each
abstract domain point represents some set of real
("{concrete}") values.
For example, we may take the abstract points "+", "0" and "-"
to represent positive, zero and negative numbers and then
define an abstract version of the multiplication operator, *#,
which operates on abstract values:
*# | + 0 -
---|------
+ | + 0 -
0 | 0 0 0
- | - 0 +
An interpretation is "safe" if the result of the abstract
operation is a safe approximation to the abstraction of the
concrete result. The meaning of "a safe approximation"
depends on how we are using the results of the analysis.
If, in our example, we assume that smaller values are safer
then the "safety condition" for our interpretation (#) is
a# *# b# <= (a * b)#
where a# is the abstract version of a etc.
In general an interpretation is characterised by the {domain}s
used to represent the basic types and the abstract values it
assigns to constants (where the constants of a language
include primitive functions such as *). The interpretation of
constructed types (such as user defined functions, {sum type}s
and {product type}s) and expressions can be derived
systematically from these basic domains and values.
A common use of {abstract interpretation} is {strictness
analysis}.
See also {standard interpretation}.
(08 Nov 1994)
abstraction
1. Generalisation, ignoring or hiding details. Examples are
{abstract data type}s (the representation details are hidden),
{abstract syntax} (the details of the {concrete syntax} are
ignored}, {abstract interpretation} (details are ignored to
analyse specific properties).
2. <programming> Parameterisation, making something a function
of something else. Examples are {lambda abstraction}s (making
a term into a function of some variable), {higher-order
function}s (parameters are functions), {bracket abstraction}
(making a term into a function of a variable).
Opposite of {concretisation}.
(08 Nov 1994)
abstract machine
1. <language> A processor design which is not intended to be
implemented as {hardware}, but which is the notional executor
of a particular {intermediate language} (abstract machine
language) used in a {compiler} or {interpreter}. An abstract
machine has an {instruction set}, a {register set} and a model
of memory. It may provide instructions which are closer to
the language being compiled than any physical computer or it
may be used to make the language implementation easier to
{port} to other {platform}s.
A {virtual machine} is an abstract machine for which an
{interpreter} exists.
Examples: {ABC}, {Abstract Machine Notation}, {ALF}, {CAML},
{F-code}, {FP/M}, {Hermes}, {LOWL},
{Christmas}, {SDL}, {S-K reduction machine}, {SECD}, {Tbl},
{Tcode}, {TL0}, {WAM}.
2. <theory> A procedure for executing a set of instructions in
some formal language, possibly also taking in input data and
producing output. Such abstract machines are not intended to
be constructed as {hardware} but are used in thought
experiments about {computability}.
Examples: {Finite State Machine}, {Turing Machine}.
(13 Mar 1995)
Abstract Machine Notation
<language> (AMN) A language for specifying {Abstract Machine}s
in the {B-Method}, based on the mathematical theory of
{Generalised Substitution}s.
(13 Mar 1995)
abstract syntax
<language> A {compiler}'s internal representation of a program
will typically be specified by an abstract syntax in terms of
categories such as "statement", "expression" and "identifier".
The syntax is abstract in two senses: it is independent of
machine-oriented structures and encodings and also independent
of the source syntax ({concrete syntax}) of the language being
compiled (though it will often be very similar). A {parse
tree} is similar to an abstract syntax tree but it will
typically also contain features such as parentheses which are
syntactically significant but which are implicit in the
structure of the {abstract syntax tree}.
(08 Nov 1994)
Abstract Syntax Notation 1
<language, standard> (ASN.1) An {ISO}/{ITU-T} {standard}
language for the description of data, defined in 1988. {ITU}
TS X.208, {ISO} 8824.
{Basic Encoding Rules} (BER) provide a universal (contiguous)
{concrete} representation of the data values whose {abstract
syntax} is described in ASN.1. ASN.1 and BER facilitate the
exchange of structured data between {application program}s
over networks by describing data structures in a way that is
independent of machine architecture and implementation
language.
{OSI} {Application layer} {protocol}s such as {X.400} {MHS}
{electronic mail}, {X.500} directory services and {SNMP} use
ASN.1 to describe the {PDU}s they exchange. ASN.1 is used by
the {National Center for Biotechnology Information}.
[M. Sample et al, "Implementing Efficient Encoders and
Decoders for Network Data Representations", IEEE Infocom 93
Proc, v.3, pp. 1143-1153 (Mar 1993). Available from Logica,
UK].
See also {snacc}.
(30 Nov 1994)
abstract syntax tree
<compiler> (AST) A data structure representing something which
has been parsed, often used as a {compiler} or {interpreter}'s
internal representation of a program while it is being
optimised and from which {code generation} is performed. The
range of all possible such structures is described by the
{abstract syntax}.
(08 Nov 1994)
Abstract-Type and Scheme-Definition Language
<language> (ASDL) A language developed as part of {Esprit}
project {GRASPIN}, as a basis for generating {language-based
editor}s and environments. It combines an {object-oriented}
type system, syntax-directed translation schemes and a
target-language interface.
["ASDL - An Object-Oriented Specification Language for
Syntax-Directed Environments", M.L. Christ-Neumann et al,
European Software Eng Conf, Strasbourg, Sept 1987, pp.77-85].
(19 Feb 1996)
Abstract Windowing Toolkit
<graphics> (AWT) {Java}'s {platform}-independent {windowing},
graphics, and user-interface {toolkit}.
["Java in a Nutshell", O'Reilly].
[On-line documentation?]
(23 Apr 1996)
ABSYS
<language> An early {declarative language} from the
{University of Aberdeen} which anticipated a number of
features of Prolog.
["ABSYS: An Incremental Compiler for Assertions", J.M. Foster
et al, Mach Intell 4, Edinburgh U Press, 1969, pp. 423-429].
(08 Nov 1994)
ACA
{Application Control Architecture}
accelerator
<hardware> Additional hardware to perform some function faster
than is possible in software running on the normal {CPU}.
Examples include {graphics accelerator}s and {floating-point
accelerator}s.
(08 Nov 1994)
Accent
<language> A very high level interpreted language from
{CaseWare, Inc.} with strings and tables. It is {strongly
typed} and has remote function calls.
(08 Nov 1994)
accept
<library, networking> {Berkeley} {Unix} networking {socket}
library routine to satisfy a connection request from a remote
{host}. A specified socket on the local host (which must be
capable of accepting the connection) is connected to the
requesting socket on the remote host. The remote socket's
socket address is returned.
{Unix manual pages}: accept(2), connect(2).
(08 Nov 1994)
Acceptable Use Policy
<networking> (AUP) Rules applied by many {transit network}s
which restrict the use to which the network may be put. A
well known example is {NSFNet} which does not allow commercial
use. Enforcement of AUPs varies with the network.
(08 Nov 1994)
acceptance testing
<programming> Formal testing conducted to determine whether a
system satisfies its acceptance criteria and thus whether the
customer should accept the system.
(10 May 1996)
Access
1. <language> An English-like query language used in the
{Pick} {operating system}.
2. <database, product> {Microsoft Access}.
(08 Nov 1994)
Access Control List
<networking> (ACL) A list of the services available on a
{server}, each with a list of the {host}s permitted to use the
service.
(08 Nov 1994)
access time
<hardware> The average time interval between a storage
peripheral (usually a disk drive or memory) receiving a
request to read or write a certain location and returning the
value read or completing the write. In order for a disk drive
to start to read or write a given location a read/write head
must be positioned radially over the right track and
rotationally over the start of the right sector.
Radial motion is known as "seeking" and it is this which
causes most of the intermittent noise heard during disk
activity. There is usually one head for each disk surface and
all heads move together. The set of locations which are
accessible with the heads in a given radial position are known
as a "{cylinder}". The "{seek time}" is the time to move the
heads to a different cylinder.
The disk is constantly rotating (except for some {floppy disk}
drives where the motor is switched off between accesses to
reduce wear and power consumption) so positioning the heads
over the right sector is simply a matter of waiting until it
arrives under the head. With a single set of heads this
"{rotational latency}" will be on average half a revolution
but some big drives have multiple sets of heads spaced at
equal angles around the disk.
If seeking and rotation are independent, access time is seek
time + rotational latency. When accessing multiple tracks
sequentially, data is sometimes arranged so that by the time
the seek from one track to the next has finished, the disk has
rotated just enough to begin accessing the next track.
See also {sector interleave}.
(08 Nov 1994)
ACCLAIM
<project> A European Union {ESPRIT} {Basic Research Action}.
[What's it about?]
(08 Nov 1994)
Accounting File
<operating system> A file which holds records of the resources
used by individual jobs. These records are used to regulate,
and calculate charges for, resources. An entry is opened in
the accounting file as each job begins.
(08 Dec 1996)
ACCU
{Association of C and C++ Users}
accumulator
<processor> In a {central processing unit}, a {register} in
which intermediate results are stored. Without an
accumulator, it would be necessary to write intermediate
results to {main memory} and read them back. Access to main
memory is slower than access to the accumulator which usually
has direct paths to and from the arithmetic and logic unit
(ALU).
Modern CPUs usually have many registers, all or many of which
can be used as accumulators. For this reason, the term
"accumulator" is somewhat archaic. Use of it as a synonym for
"register" is a fairly reliable indication that the user has
been around for quite a while and/or that the architecture
under discussion is quite old. The term in full is almost
never used of microprocessor registers, for example, though
symbolic names for arithmetic registers beginning in "A"
derive from historical use of the term "accumulator" (and not,
actually, from "arithmetic"). Confusingly, though, an "A"
register name prefix may also stand for "address", as for
example on the {Motorola} {680x0} family.
2. <programming> A register, memory location or variable being
used for arithmetic or logic (as opposed to addressing or a
loop index), especially one being used to accumulate a sum or
count of many items. This use is in context of a particular
routine or stretch of code. "The FOOBAZ routine uses A3 as an
accumulator."
(02 Mar 1995)
ACE
1. {Advanced Computing Environment}.
2. {Adaptive Communication Environment}.
ACIS
<graphics> Andy, Charles, Ian's System.
A {geometric engine} that most {CAD} packages now use. ACIS
uses a sophisticated {object-oriented} approach for modelling,
the data is stored in {boundary representation}. Acis is
owned by {Spatial Technologies}.
[How does this differ from "solid modelling"?].
(21 Mar 1996)
ACK
1. <character> /ak/ The {mnemonic} for the ACKnowledge
character, {ASCII} code 6.
2. <communications> A message transmitted to indicate that
some data has been received correctly. Typically, if the
sender does not receive the ACK message after some
predetermined time, or receives a {NAK}, the original data
will be sent again.
(07 Jan 1997)
ACL
1. {Access Control List}.
2. {Association for Computational Linguistics}.
3. A Coroutine Language.
A {Pascal}-based implementation of {coroutine}s.
["Coroutines", C.D. Marlin, LNCS 95, Springer 1980].
(08 Nov 1994)
ACM
{Association for Computing Machinery}
ACME
<company, jargon> /ak'mee/ 1. A Company that Makes Everything.
The {canonical} imaginary business. Possibly also derived
from the word "acme" meaning "highest point".
2. A program for {MS-DOS}.
[What does it do?]
(08 Nov 1994)
ACOM
<language> An early system on the {IBM 705}.
[Listed in CACM 2(5):16 (May 1959)].
(08 Nov 1994)
Acorn Archimedes
{Archimedes}
Acorn Computer Group
<company> A holding company for {Acorn Computers} Limited,
Acorn Australia, Acorn New Zealand, Acorn GmbH and {Online
Media}. Acorn Computer Group owns 43% of {Advanced RISC
Machines} Ltd.
(08 Nov 1994)
Acorn Computers Ltd.
<company> A UK computer manufacturer, part of the {Acorn
Computer Group} plc. Acorn was founded 5th December 1978, on
a kitchen table in a back room. Their first creation was an
electronic slot machine. After the {Acorn System 1}, 2 and 3,
Acorn launched the first commercial {microcomputer} - the
{ATOM} in March 1980. In April 1981, Acorn won a contract
from the {BBC} to provide the {PROTON}. In January 1982 Acorn
launched the {BBC Microcomputer} System. Seven out of ten
microcomputers bought for UK schools were BBC Micros.
The Acorn Computer Group went public on the Unlisted
Securities Market in September 1983. In April 1984 Acorn won
the Queen's Award for Technology for the BBC Micro and in
September 1985 {Olivetti} took a controlling interest in
Acorn. The {Master} 128 Series computers were launched in
January 1986 and the BBC {Domesday} System in November 1986.
In 1983 Acorn began to design the Acorn RISC Machine (ARM),
the first low-cost, high volume {RISC} processor chip (later
renamed the {Advanced RISC Machine}). In June 1987 they
launched the {Archimedes} range - the first 32 bit {RISC}
based {microcomputer}s - which sold for under UKP 1000. In
February 1989 the R140 was launched. This was the first
{Unix} {workstation} under UKP 4000. In May 1989 the A3000
(the new {BBC Microcomputer}) was launched.
In 1990 Acorn formed {Advanced RISC Machines} Ltd. (ARM) in
partnership with {Apple Computer, Inc.} and {VLSI} to develop
the ARM processor. Acorn has continued to develop {RISC}
based products.
With 1992 revenues of 48.2 million pounds, Acorn Computers is
the premier supplier of {information technology} products to
UK education and has been the leading provider of 32 bit RISC
based {personal computers} since 1987. Acorn works with
industry partners, users and software developers to provide
products for the education, consumer, publishing and
international markets.
{Usenet} newsgroups: {news:comp.sys.acorn},
{news:comp.sys.acorn.announce}, {news:comp.sys.acorn.tech},
{news:comp.binaries.acorn}, {news:comp.sources.acorn},
{news:comp.sys.acorn.advocacy}, {news:comp.sys.acorn.games}.
{Acorn's FTP server (ftp://ftp.acorn.co.uk/)}
E-mail: <customer.services@acorn.co.uk>.
{HENSA software archive
(http://micros.hensa.ac.uk/micros/arch.html)}. {Richard
Birkby's Acorn page (http://www.csv.warwick.ac.uk/~phudv/)}.
{RiscMan's Acorn page (http://www.geko.com.au/riscman/)}.
{Acorn On The Net (http://www.stir.ac.uk/~rhh01/Main.html)}.
{"The Jungle" by Simon Truss
(http://www.csc.liv.ac.uk/users/u1smt/u1smt.html)}.
(31 Oct 1994)
Acorn RISC Machine
<processor> The original name of the {Advanced RISC Machine}.
(07 Mar 1995)
ACOS
<language> A {BBS} language for {PRODOS 8} on {Apple II}.
{Macos} is a hacked version of ACOS.
(08 Nov 1994)
acoustic coupler
<hardware, communications> A device used to connect a {modem}
to a telephone line via an ordinary handset. The acoustic
coupler converts electrical signals from the {modem} to sound
via a loudspeaker, against which the mouthpiece of a telephone
handset is placed. The earpiece is placed against a
microphone which converts sound to electrical signals which
return to the modem. The handset is inserted into a
sound-proof box containing the louspeaker and microphone to
avoid interference from ambient noise.
Acousitic couplers are now rarely used since most modems have
a direct electrical connection to the telephone line. This
avoids the signal degradation caused by conversion to and from
audio. Direct connection is not always possible, and was
actually illegal in the United Kingdom before {British
Telecom} was privatised. BT's predecessor, the General Post
Office, did not allow subscribers to connect their own
equipment to the telephone line.
(08 Nov 1994)
ACP
{Algebra of Communicating Processes}
Acrobat
<text, product> A product from {Adobe Systems}, for
manipulating documents stored in {Portable Document Format}.
Acrobat provides a {platform}-independent means of creating,
viewing, and printing documents.
{Acropolis: the magazine of Acrobat publishing
(http://www.acropolis.com/acropolis)}.
(21 Apr 1995)
acronym
<jargon> An identifier formed from some of the letters (often
the initials) of a phrase and used as an abbreviation. {This
dictionary} contains a great many acronyms; see the contents
page for a list.
See also {TLA}.
(15 Mar 1995)
ACSE
{Association Control Service Element}
ACT
{Annual Change Traffic}
ACT++
<language> A {concurrent} extension of {C++} based on
{actor}s.
["ACT++: Building a Concurrent C++ With Actors", D.G. Kafura
TR89-18, VPI, 1989].
(08 Nov 1994)
Act1
<language> An {actor} language descended from {Plasma}.
["Concurrent Object Oriented Programming in Act1",
H. Lieberman in Object Oriented Concurrent Programming,
A. Yonezawa et al eds, MIT Press 1987].
(08 Nov 1994)
Act2
<language> An {actor} language.
["Issues in the Design of Act2", D. Theriault, TR728, MIT AI
Lab, June 1983].
(08 Nov 1994)
Act3
<language> A high-level {actor} language by {Carl Hewitt}. A
descendant of {Act2} which provides support for automatic
generation of {customer}s and for {delegation} and
{inheritance}.
["Linguistic Support of Receptionists for Shared Resources",
C. Hewitt et al in Seminar on Concurrency, S.D. Brookes et al
eds, LNCS 197, Springer 1985, pp. 330-359].
(08 Nov 1994)
Actalk
<language> A {Smalltalk}-based {actor} language developed by
J-P Briot in 1989.
["Actalk: A Testbed for Classifying and Designing Actor
Languages in the Smalltalk-80 Environment", J-P. Briot, Proc
ECOOP '89, pp. 109-129].
(08 Nov 1994)
Actis
<programming> An approach to integrated {CASE} by {Apollo}.
(08 Nov 1994)
activation record
<compiler> (Or "data frame", "stack frame") A data structure
containing the variables belonging to one particular {scope}
(e.g. a procedure body), as well as links to other activation
records.
Activation records are usually created (on the {stack}) on
entry to a block and destroyed on exit. If a procedure or
function may be returned as a result, stored in a variable and
used in an outer scope then its activation record must be
stored in a {heap} so that its variables still exist when it
is used. Variables in the current {scope} are accessed via
the {frame pointer} which points to the current activation
record. Variables in an outer scope are accessed by following
chains of links between activation records. There are two
kinds of link - the {static link} and the {dynamic link}.
(07 Mar 1995)
active DBMS
<database> A conventional or passive {DBMS} combined with a
means of event detection and condition monitoring. Event
handling is often rule-based, as with an {expert system}.
(08 Nov 1994)
Active Language I
<tool, mathematics> An early interactive mathematics system
for the {XDS 930} at the {University of California at
Berkeley}.
["Active Language I", R. de Vogelaere in Interactive Systems
for Experimental Applied Mathematics, A-P 1968].
(08 Nov 1994)
active matrix display
<hardware> A type of {liquid crystal display} where each
display element (each {pixel}) includes an active component
such as a {transistor} to maintain its state between scans.
Contrast {passive matrix display}.
(09 Dec 1995)
Active Monitor
<networking> A process in an {IBM} {token ring} network which
ensures a token is present on the ring, removes circulating
frames with unknown or invalid destinations, and performs
introductions between machines on the ring.
(18 Jun 1996)
active object
<programming> An {object} that encompasses its own {thread of
control}.
[What does this mean?]
(08 Nov 1994)
ActiveX
<World-Wide Web> {Microsoft}'s answer to {Java}. ActiveX is a
stripped down implementation of {OLE} designed to run over
slow {Internet} links.
[Details? URL?]
(09 Apr 1996)
ACT ONE
<language, specification> A specification language.
["An Algebraic Specification Language with Two Levels of
Semantics", H. Ehrig et al, Tech U Berlin 83-03 Feb 1983].
(08 Nov 1994)
Actor
<language> An {object-oriented} language for {Microsoft
Windows} written by Charles Duff of the {Whitewater Group} ca.
1986. It has {Pascal}/{C}-like {syntax}. Uses a
{token-threaded} {interpreter}. {Early binding} is an option.
["Actor Does More than Windows", E.R. Tello, Dr Dobb's J
13(1):114-125 (Jan 1988)].
(08 Nov 1994)
actor
1. <programming> In {object-oriented} programming, an {object}
which exists as a {concurrent} process.
2. <operating system> In {Chorus}, the unit of resource
allocation.
(08 Nov 1994)
Actors
<theory> A model for {concurrency} by {Carl Hewitt}. Actors
are autonomous and concurrent {object}s which execute
asynchronously. The Actor model provides flexible mechanisms
for building parallel and distributed software systems.
["Laws for Communicating Parallel Processes", C. Hewitt et al,
IFIP 77, pp. 987-992, N-H 1977].
["ACTORS: A Model of Concurrent Computation in Distributed
Systems", Gul A. Agha <agha@cs.uiuc.edu>, Cambridge Press, MA,
1986].
(12 Jun 1995)
Actra
<language> A {multi-processor} {exemplar}-based {Smalltalk}.
[LaLonde et al, OOPSLA '86].
(08 Nov 1994)
Actus
<language> {Pascal} with parallel extensions, similar to the
earlier {Glypnir}. It has parallel constants and {index
set}s. Descendants include {Parallel Pascal}, {Vector C} and
{CMU}'s language {PIE}.
["A Language for Array and Vector Processors," R.H. Perrott,
ACM TOPLAS 1(2):177-195 (Oct 1979)].
(08 Nov 1994)
AD
{Administrative Domain}
Ada
<language> (After {Ada Lovelace}) A {Pascal}-descended
language, designed by Jean Ichbiah's team at {CII Honeywell}
in 1979, made mandatory for Department of Defense software
projects by the Pentagon. The original language was
standardised as "Ada 83", the latest is "{Ada 95}".
Ada is a large, complex, {block-structured} language aimed
primarily at {embedded} applications. It has facilities for
{real-time} response, {concurrency}, hardware access and
reliable run-time error handling. In support of large-scale
{software engineering}, it emphasises {strong typing}, {data
abstraction} and {encapsulation}. The type system uses {name
equivalence} and includes both {subtype}s and {derived type}s.
Both fixed and {floating-point} numerical types are supported.
{Control flow} is fully bracketed: if-then-elsif-end if,
case-is-when-end case, loop-exit-end loop, goto. Subprogram
parameters are in, out, or inout. Variables imported from
other packages may be hidden or directly visible. Operators
may be {overloaded} and so may {enumeration} literals. There
are user-defined {exception}s and {exception handler}s.
An Ada program consists of a set of packages encapsulating
data objects and their related operations. A package has a
separately compilable body and interface. Ada permits
{generic package}s and subroutines, possibly parametrised.
Ada programming places a heavy emphasis on {multitasking}.
Tasks are synchronised by the {rendezvous}, in which a task
waits for one of its subroutines to be executed by another.
The conditional entry makes it possible for a task to test
whether an entry is ready. The selective wait waits for
either of two entries or waits for a limited time.
Ada is often criticised, especially for its size and
complexity, and this is attributed to its having been designed
by committee. In fact, both Ada 83 and Ada 95 were designed
by small design teams to be internally consistent and tightly
integrated. By contrast, two possible competitors, {Fortran
90} and {C++} have both become products designed by large and
disparate volunteer committees.
See also {Ada/Ed}, {Toy/Ada}.
{Home of the Brave Ada Programmers
(http://lglwww.epfl.ch/Ada/)}. {Ada FAQs
(http://lglwww.epfl.ch/Ada/FAQ/)} (hypertext), {text only
(ftp://lglftp.epfl.ch/pub/Ada/FAQ)}.
{(http://wuarchive.wustl.edu/languages/ada/)},
{(ftp://ajpo.sei.cmu.edu/)},
{(ftp://stars.rosslyn.unisys.com/pub/ACE_8.0)}.
E-mail: <adainfo@ajpo.sei.cmu.edu>.
{Usenet} newsgroup: {news:comp.lang.ada}.
{An Ada grammar (ftp://primost.cs.wisc.edu/)} including a
lex scanner and yacc parser is available. E-mail:
<compilers-server@iecc.cambridge.ma.us>,
<masticol@dumas.rutgers.edu>.
Another {yacc} {grammar} and {parser} for {Ada} by Herman
Fischer is {here
(ftp://wsmr-simtel20.army.mil/PD2:<ADA.EXTERNAL-TOOLS>GRAM2.SRC)}.
An {LR parser} and {pretty-printer} for {Ada} from NASA is
available from the {Ada Software Repository}. Michael Feldman
<mfeldman@seas.gwu.edu> referred to this package in
comp.compilers, he also has a yacc grammar for ada.
{Adamakegen} generates {makefile}s for {Ada} programs.
["Reference Manual for the Ada Programming Language", ANSI/MIL
STD 1815A, US DoD (Jan 1983)]. Earlier draft versions
appeared in July 1980 and July 1982. ISO 1987.
(23 Jan 1995)
Ada++
<language> An {object-oriented} extension to {Ada},
implemented as an Ada {preprocessor}. Obsoleted by {Ada 95}
which includes object-oriented features.
(19 Sep 1995)
Ada 83
<language> The original {Ada}, as opposed to {Ada 95}.
(13 Mar 1995)
Ada 95
<language> A revision and extension of {Ada} (Ada 83) begun in
1988 and completed in 1 Dec 1994 by a team lead by Tucker Taft
of {Intermetrics}. The printed standard was expected to be
available around 15 Feb 1995.
Additions include {object-orientation} ({tagged type}s,
{abstract type}s and {class-wide type}s), hierarchical
libraries and synchronisation with shared data (protected
types) similar to {Orca}. It lacks {multiple inheritance} but
supports the construction of multiple inheritance type
hierarchies through the use of {generic}s and {type
composition}.
{GNAT} aims to be a free implementation of Ada 95.
You can get the standard from the {Ada Joint Program Office
(ftp://ajpo.sei.cmu.edu/public/)}, {Ada Information
Clearinghouse (ftp://sw-eng.falls-church.va.us/public/)}.
E-mail: Chris Anderson <anderson@uv4.eglin.af.mil> (Ada 95
Project Manager).
["Introducing Ada 9X", J.G.P. Barnes, Feb 1993].
(19 Jan 1995)
Ada 9X
<language> The working title for {Ada 95} before its adoption
as an {ISO} {standard}.
(19 Jan 1995)
ADABAS
<database> A {relational database} system by {Software AG}.
While it was initially designed for large {IBM} {mainframe}
systems (e.g. {S/370} in the late 1970s), it has been ported to
numerous other {platform}s over the last few years such as
several flavors of {Unix} including {AIX}.
ADABAS stores its data in tables (and is thus "relational")
but also uses some non-relational techniques, such as
{multiple value}s and {periodic group}s.
(30 Oct 1995)
Ada/Ed
<language, education> An {interpreter}, editor and run-time
environment for {Ada}, intended as a teaching tool. It does
not have the capacity, performance or robustness of commercial
Ada compilers. Ada/Ed was developed at {New York University}
as part of a long-range project in language definition and
software prototyping.
AdaEd runs on {Unix}, {MS-DOS}, {Atari ST} and {Amiga}.
Version 1.11.0a+. It handles nearly all of {Ada 83} and was
last validated with version 1.7 of the {ACVC} tests. Being an
interpreter, it does not implement most {representation
clause}s and thus does not support systems programming close
to the machine level.
A later version is known as {GW-Ada}.
E-mail: Michael Feldman <mfeldman@seas.gwu.edu>.
{(ftp://ftp.wustl.edu/amiga/languages/ada)},
{(ftp://cnam.cnam.fr/pub/Ada/Ada-Ed)}. {For Amiga
(ftp://cs.nyu.edu/pub/adaed)}.
{RISC OS (ftp://micros.hensa.ac.uk/micros/arch/riscos/c/c052)}
(E-mail: <adaed@arcangel.demon.co.uk>).
(18 Aug 1994)
Adaline
<architecture> Name given by Widrow to {adaptive linear
neuron}s, that is {neuron}s (see {McCulloch-Pitts}) which
learn using the {Widrow-Huff Delta Rule}. See also
{Madaline}.
(14 Mar 1995)
Ada Lovelace
<person> (1811-1852) The daughter of Lord Byron, who became
the world's first programmer while cooperating with {Charles
Babbage} on the design of his mechanical computing engines in
the mid-1800s.
The language {Ada} was named after her.
(20 Sep 1995)
ADAM
{A Data Management system}
Adamakegen
<tool> A program that generates {makefile}s for {Ada}
programs. Adamakegen was written by Owen O'Malley
<omalley@porte-de-st-ouen.ics.uci.edu>. It requires {Icon}
and runs under {Verdix} and {SunAda}. The current version is
2.6.3.
{(ftp://spare.ics.uci.edu/ftp/pub/arcadia/)}
(02 Mar 1993)
ADAMO
<database> A data management system written at CERN based on
the {Entity-Relationship model}.
(14 Mar 1995)
Ada-O
<language> An {Ada} subset developed at the {University of
Karlsruhe} in 1979, used for {compiler} {bootstrapping}. It
lacks {overloading}, {derived type}s, {real number}s, tasks
and {generic}s.
["Revised Ada-O Reference Manual", G. Persch et al, U
Karlsruhe, Inst fur Infor II, Bericht Nr 9/81].
(14 Feb 1995)
Adaplan
<language> A {functional database} language based upon
{Backus}' {FP} language.
[Erwig&Lipeck, Proc. DBPL-3, 1991].
(07 May 1995)
Adaplex
<language, database> An extension of {Ada} for {functional
database}s.
["Adaplex: Rationale and Reference Manual 2nd ed", J.M. Smith
et al, Computer Corp America, Cambridge MA, 1983].
(14 Feb 1995)
ADAPT
<language> A subset of {APT}.
[Sammet 1969, p. 606].
(14 Feb 1995)
Adaptable User Interface
<tool, product> (AUI, Oracle Toolkit) A toolkit from {Oracle}
allowing applications to be written which will be portable
between different {windowing systems}. AUI provides one {call
level interface} along with a resource manager and editor
across a range of "standard" {GUI}s, including {Macintosh},
{Microsoft Windows} and the {X Window System}.
(16 Mar 1995)
adaptive answering
<communications> A feature which allows a {faxmodem} to answer
the telephone and decide whether the incoming call is a fax or
data call. Most {Class 1} faxmodems do this. The
{U.S. Robotics} Class 1 implementation however seems not to do
it, it must be set to answer as either one or the other.
(16 Mar 1995)
Adaptive Communication Environment
<communications, tool> A {C++} wrapper library for
communications from the {University of California at Irvine}.
(16 Mar 1995)
Adaptive Digital Pulse Code Modulation
<communications> (ADPCM) A {compression} technique.
ADPCM is used on the {Sony} minidisk.
[Details?]
(02 Nov 1994)
adaptive learning
<algorithm> (Or "{Hebbian} learning") Learning where a system
programs itself by adjusting weights or strengths until it
produces the desired output.
(16 Mar 1995)
Adaptive Simulated Annealing
<language> (ASA) A language interface to a {neural net}
simulator(?) by Lester Ingber <ingber@cco.caltech.edu>.
Version 1.53.
{(ftp://ftp.caltech.edu/pub/ingber/)}
Mailing list: <asa-8request@alumni.caltech.edu>.
(14 Nov 1993)
Adaptor
<tool> Automatic DAta Parallelism TranslatOR.
A source to source transformation tool that transforms {data
parallel} programs written in {Fortran 77} with {array}
extensions, parallel loops, and layout directives to parallel
programs with explicit {message passing}. ADAPTOR generates
{Fortran 77} host and node programs with message passing. The
new generated source codes have to be compiled by the compiler
of the parallel computer.
Version 1.0 runs on {CM-5}, {iPCS/860}, {Meiko CS1}/CS2, {KSR
1}, {SGI}, {Alliant} or a network of {Sun}s or {RS/6000}s.
{(ftp://ftp.gmd.de/gmd/adaptor/adp_1.0.tar.Z)}. E-mail:
Thomas Brandes <brandes@gmdzi.gmd.de>.
(01 Jun 1993)
Ada Semantic Interface Specification
<language> (ASIS) An intermediate representation for {Ada}.
E-mail: <sblake@thomsoft.com>.
See also {Diana}.
(15 Feb 1995)
Ada Software Repository
{(http://wuarchive.wustl.edu/languages/ada/asr/)}
(06 Jan 1995)
AD/Cycle
<tool, product> Application Development cycle.
A set of {SAA}-compatible {IBM}-sponsored products for program
development, running on workstations accessing a central
repository on a {mainframe}. The stages cover requirements,
analysis and design, production of the application, building
and testing and maintenance. Technologies used include code
generators and {knowledge based system}s as well as languages
and debuggers.
(24 Oct 1994)
ADD 1 TO COBOL GIVING COBOL
<humour, language> (From COBOL's equivalent syntax to C's C++)
A tongue-in-cheek suggestion by Bruce Clement for an
{object-oriented} {COBOL}.
[SIGPLAN Notices 27(4):90-91 (Apr 1992)].
(17 Mar 1995)
ADDD
<tool> A Depository of Development Documents.
A {public domain} Software Engineering Environment from {GMD}
developed as part of the {STONE} project.
(03 Feb 1995)
additive
<mathematics> A function f : X -> Y is additive if
for all Z <= X
f (lub Z) = lub { f z : z in Z }
(f "preserves {lub}s"). All additive functions defined over
{cpo}s are {continuous}.
("<=" is written in {LaTeX} as {\subseteq}, "lub" as \sqcup ).
(03 Feb 1995)
address
1. <networking> {e-mail address}.
2. <networking> {Internet address}.
3. <networking> {MAC address}.
4. <hardware, programming> An unsigned integer used to select
one fundamental element of storage, usually known as a "word"
from a computer's main memory or other storage device. The
{CPU} outputs addresses on its {address bus} which may be
connected to an {address decoder}, {cache controller}, {memory
management unit} and other devices.
(17 Mar 1995)
address bus
<processor> The connections between the {CPU} and memory which
carry the {address} from/to which the CPU wishes to read or
write. The number of bits of address bus determines the
maximum size of memory which the processor can access.
See also {data bus}.
(22 Mar 1995)
addressing mode
1. <processor, programming> One of a set of methods for
specifying the {operand}(s) for a {machine code} instruction.
Different processors vary greatly in the number of addressing
modes they provide. The more complex modes described below
can usually be replaced with a short sequence of instructions
using only simpler modes.
The most common modes are "register" - the operand is stored
in a specified {register}; "absolute" - the operand is stored
at a specified memory address; and "{immediate}" - the operand
is contained within the instruction.
Most processors also have {indirect addressing} modes, e.g.
"register indirect", "memory indirect" where the specified
register or memory location does not contain the operand but
contains its address, known as the "{effective address}". For
an absolute addressing mode, the effective address is
contained within the instruction.
Indirect addressing modes often have options for pre- or post-
increment or decrement, meaning that the register or memory
location containing the {effective address} is incremented or
decremented by some amount (either fixed or also specified in
the instruction), either before or after the instruction is
executed. These are very useful for {stack}s and for
accessing blocks of data. Other variations form the effective
address by adding together one or more registers and one or
more constants which may themselves be direct or indirect.
Such complex addressing modes are designed to support access
to multidimensional arrays and arrays of data structures.
The addressing mode may be "implicit" - the location of the
operand is obvious from the particular instruction. This
would be the case for an instruction that modified a
particular control register in the CPU or, in a {stack} based
processor where operands are always on the top of the stack.
2. In {IBM} {System 370}/{XA} the addressing mode bit controls
the size of the {effective address} generated. When this bit
is zero, the CPU is in the 24 bit addressing mode, and 24 bit
instruction and operand effective addresses are generated.
When this bit is one, the CPU is in the 31 bit addressing
mode, and 31 bit instruction and operand effective addresses
are generated.
["IBM System/370 Extended Architecture Principles of
Operation", Chapter 5., 'Address Generation', BiModal
Addressing].
(30 Mar 1995)
address mask
<networking> (Or "subnet mask") A {bit mask} used to identify
which bits in an {IP address} correspond to the {network
address} and {subnet} portions of the address. This mask is
often referred to as the subnet mask because the network
portion of the address can be determined by the {class}
inherent in an IP address. The address mask has ones in
positions corresponding to the network and subnet numbers and
zeros in the host number positions.
(21 Mar 1996)
address resolution
<networking> Conversion of an {Internet address} into the
corresponding physical address ({Ethernet address}). This is
usually done using {Address Resolution Protocol}.
The {resolver} is a library routine and a set of processes
which converts {hostnames} into {Internet addresses}, though
this process in not usually referred to as {resolution}. See
{DNS}.
(09 Apr 1996)
Address Resolution Protocol
<networking, protocol> (ARP) A method for finding a {host}'s
{Ethernet address} from its {Internet address}. The sender
broadcasts an ARP {packet} containing the {Internet address}
of another host and waits for it (or some other host) to send
back its Ethernet address. Each host maintains a {cache} of
address translations to reduce delay and loading. ARP allows
the Internet address to be independent of the Ethernet address
but it only works if all hosts support it.
ARP is defined in {RFC} 826.
The alternative for hosts that do not do ARP is {constant
mapping}.
See also {proxy ARP}, {reverse ARP}.
(20 Mar 1995)
address space
<operating system> 1. The range of addresses which a processor
can access. This usually depends on the width of the
processor's {address bus} and address {register}s. Address
space may refer to either {physical address} or {virtual
address}.
2. The range of {physical address}es or {virtual address}es
allocated to a process.
(12 May 1995)
Address Strobe
<storage> (AS) One of the input signals of a memory device,
especially {semiconductor} memory, which is asserted to tell
the memory device that the {address} inputs are valid. Upon
receiving this signal the selected memory device starts the
memory access (read/write) indicated by its other inputs.
It may be driven directly by the {processor} or by a {memory
controller}.
(02 Oct 1996)
ADELE
<language> A language for specification of {attribute
grammar}s, used by the {MUG2} {compiler compiler}.
["An Overview of the Attribute Definition Language ADELE",
H. Ganziger in GI3, Fachesprach "Compiler-Compiler",
W. Henhapl ed, Munchen Mar 1982, pp.22-53].
(23 Jan 1995)
ADES
<language> An early system on the {IBM 704}.
Version: ADES II.
[Listed in CACM 2(5):16 (May 1959)].
(20 Mar 1995)
ad hoc
Contrived purely for the purpose in hand rather than planned
carefully in advance. E.g. "We didn't know what to do about
the sausage rolls, so we set up an ad-hoc committee".
(25 Mar 1995)
ad-hockery
<jargon> /ad-hok'*r-ee/ (Purdue) 1. Gratuitous assumptions
made inside certain programs, especially {expert system}s,
which lead to the appearance of semi-intelligent behaviour but
are in fact entirely arbitrary. For example, {fuzzy-matching}
of input tokens that might be typing errors against a symbol
table can make it look as though a program knows how to spell.
2. Special-case code to cope with some awkward input that
would otherwise cause a program to fail, presuming normal
inputs are dealt with in some cleaner and more regular way.
Also called "ad-hackery", "ad-hocity" (/ad-hos'*-tee/),
"ad-crockery".
See also {ELIZA effect}.
(05 Jan 1995)
ad-hoc polymorphism
{overloading}
Aditi
<database, project> The Aditi Deductive Database System. A
multi-user {deductive database} system from the Machine
Intelligence Project at the {University of Melbourne}. It
supports base {relation}s defined by {fact}s (relations in the
sense of {relational database}s) and {derived relation}s
defined by {rule}s that specify how to compute new information
from old information.
Both base relations and the rules defining derived relations
are stored on disk and are accessed as required during query
evaluation. The rules defining derived relations are
expressed in a {Prolog}-like language, which is also used for
expressing queries.
Aditi supports the full structured data capability of Prolog.
Base relations can store arbitrarily nested terms, for example
arbitrary length lists, and rules can directly manipulate such
terms. Base relations can be indexed with {B-tree}s or
multi-level signature files.
Users can access the system through a {Motif}-based query and
database administration tool, or through a command line
interface. There is also in interface that allows {NU-Prolog}
programs to access Aditi in a transparent manner. Proper
{transaction processing} is not supported in this release.
The beta release runs on {SPARC}/{SunOS4}.1.2 and
{MIPS}/{Irix}4.0.
E-mail: <aditi@cs.mu.oz.au>.
(17 Dec 1992)
ADL
1. <games> {Adventure Definition Language}.
2. <language> {Ada} Development Language.
R.A. Lees, 1989.
3. <programming> {API} Definition Language.
A project for Automatic Interface Test Generation.
(17 Nov 1995)
AdLog
<language> A language which adds a {Prolog} layer to {Ada}.
["AdLog, An Ada Components Set to Add Logic to Ada",
G. Pitette, Proc Ada-Europe Intl Conf Munich, June 1988].
(21 Mar 1995)
ADM
<language> A picture {query language}, extension of {Sequel2}.
["An Image-Oriented Database System", Y. Takao et al, in
Database Techniques for Pictorial Applications, A. Blaser ed,
pp. 527-538].
(21 Mar 1995)
ADMD
{Administration Management Domain}
admin
{system administrator}
Administration Management Domain
<networking> (ADMD) An {X.400} {message handling system}
{public service carrier}.
(18 Jun 1996)
Administrative Domain
<networking> (AD) A collection of {host}s and {router}s, and
the interconnecting network(s), managed by a single
administrative authority.
(24 Nov 1994)
Adobe
{Adobe Systems, Inc.}
Adobe Systems, Inc.
<company> A California {font} foundry and {software} house.
Adobe created the {PostScript} {page description language} and
wrote the {Blue Book}, {Green Book}, {Red Book} and {White
Book} on it. They also developed {PDF}. Adobe took over
{Frame Technology Corporation} in late 1995/early 1996.
{Home (http://www.adobe.com/)}.
E-mail: <postmaster@adobe.com>.
Address: Silicon Valley, California, USA.
(13 Dec 1996)
Adobe Type Manager
<text, tool, product> (ATM) Software that produces
{PostScript} {outline font}s on screen and paper. There are
version s that run under {Microsoft Windows} and on the
{Macintosh}.
[What font features does it support?]
(01 Feb 1995)
ADPCM
{Adaptive Digital Pulse Code Modulation}
ADS
An {expert system}.
ADSL
{Asymmetric Digital Subscriber Line}
ADSP
{AppleTalk Data Stream Protocol}
ADSU
{ATM Data Service Unit}
ADT
{abstract data type}
Advanced Computing Environment
<body> (ACE) A consortium to agree on an {open} architecture
based on the {MIPS R4000} chip. A computer architecture ARCS
will be defined, on which either {OS/2} or {Open Desktop} can
be run.
(03 Feb 1995)
Advanced Interactive eXecutive
<operating system> (AIX) {IBM}'s version of {Unix}, taken as
the basis for the {OSF} {standard}.
{Usenet} newsgroup: {news:comp.sys.unix.aix}.
(24 Nov 1994)
Advanced Micro Devices, Inc.
<company> (AMD) The fifth-largest, US manufacturer of
{integrated circuit}s, founded in 1969. AMD focuses on the
personal and networked computation and communications market.
They produce {microprocessor}s, {embedded processor}s and
related peripherals, memories, {programmable logic device}s,
circuits for telecommunications and networking applications.
AMD has 12000 employees in the USA and elsewhere and
manufacturing facilities in Austin, Texas; Aizu-Wakamatsu,
Japan; Bangkok, Thailand; Penang, Malaysia; and Singapore.
AMD made the {AMD 2900} series of {bit-slice} {TTL} components
and make clones of the {Intel 80386} and {Intel 486}
{microprocessor}s.
{Home (http://www.amd.com/)}
Address: Sunnyvale, CA, USA.
(27 Feb 1995)
Advanced Network Systems Architecture
<networking> (ANSA) A "{software bus}" based on a model for
distributed systems developed as an {ESPRIT} project.
{Home (http://www.ansa.co.uk/)}
(01 Apr 1996)
Advanced Peer-to-Peer Networking
<networking, product> (APPN) IBM data communications support
that routes data in a network between two or more {APPC}
systems that need not be adjacent.
(03 Feb 1995)
Advanced Power Management
<hardware> (APM) A feature of some displays, usually but not
always, on {laptops}, which powers-down and/or shuts down the
display after a preset period of inactivity to conserve
electrical power. Monitors with this capability are usually
refered to as "green monitors", meaning environmentally
friendly.
(09 Jul 1996)
Advanced Program-to-Program Communications
<networking, product> (APPC) An implementation of the {IBM}
{SNA}/{SDLC} {LU6.2} {protocol} that allows interconnected
systems to communicate and share the processing of programs.
(03 Feb 1995)
Advanced Research Projects Agency
<body> (ARPA) An agency of the US Department of Defense
responsible for the development of new technology for use by
the military. ARPA was its original name, then it was known
as DARPA (for Defense) and now it is ARPA again. It was
responsible for funding development of {ARPANET} (which grew
into the {Internet}), the {Berkeley} version of {Unix} and
{TCP/IP}.
{Home (http://www.arpa.mil/)}
[When was it renamed?]
(18 Jan 1995)
Advanced Research Projects Agency Network
<networking> (ARPANET) A pioneering longhaul {wide area
network} funded by {ARPA}. It became operational in 1968 and
served as the basis for early networking research, as well as
a central {backbone} during the development of the {Internet}.
The ARPANET consisted of individual {packet switching}
computers interconnected by {leased line}s. {Protocol}s used
include {FTP} and {telnet}. It has now been replaced by
{NSFnet}.
[1968 or 1969?]
(17 Nov 1994)
Advanced Revelation
<database> (AREV) A {database development environment} for
{personal computers} available from {Revelation Software}
since 1982. Originally based on the {PICK} {operating
system}, there are over one million users worldwide in 1996.
(12 Dec 1996)
Advanced RISC Computing Specification
<standard, hardware> (ARC) The baseline hardware requirements
for an {ACE}-compatible system.
(16 Jan 1995)
Advanced RISC Machine
<processor> (ARM, Originally {Acorn} RISC Machine). A series
of low-cost, power-efficient 32 bit {RISC} {microprocessor}s
for embedded control, computing, {digital signal processing},
{games}, consumer {multimedia} and portable applications. It
was the first commercial RISC microprocessor (or was the {MIPS
R2000}?) and is currently licensed for production by Asahi
Kasei Microsystems, {Cirrus Logic}, {GEC Plessey
Semiconductors}, {Samsung}, {Sharp}, {Texas Instruments} and
{VLSI Technology}.
The ARM has a small and highly {orthogonal} instruction set,
as befits a RISC processor. Every instruction includes a
four bit code which specifies a condition (of the processor
status register) which must be satisfied for the instruction
to be executed. Unconditional execution is specified with a
condition "true".
Instructions are split into load and store which access memory
and arithmetic and logic instructions which work on registers
(two source and one destination).
The ARM has 27 registers of which 16 are accessible in any
particular mode. R15 is the {program counter} and processor
status byte, the other registers are general purpose except
that R14 holds the return address after a subroutine call and
R13 is conventionally used as a {stack pointer}. There are
four processor modes: user, interrupt (with a private copy of
R13 and R14), fast interrupt (private copies of R8 to R14) and
supervisor (private copies of R13 and R14). The {ALU}
includes a 32 bit {barrel-shifter} allowing, e.g., a
single-cycle shift and add.
The first processor, the ARM1 was a prototype which was never
released. The ARM2 was originally called the Acorn RISC
Machine. It was designed by {Acorn Computers} Ltd. and used
in the {Archimedes}, their successor to the {BBC Micro} and
{BBC Master} series which were based on the eight bit {6502}
{microprocessor}. It was clocked at 8 MHz giving an average
performance of 4 - 4.7 MIPS. Development of the ARM family
was then continued by a new company, {Advanced RISC Machines}
Ltd.
The {ARM3} added a {fully-associative} on-chip {cache} and
some support for multiprocessing. This was followed by the
{ARM600} chip which was an {ARM6} processor core with 4
kilobyte 64-way {set-associative} {cache}, {MMU} based on
MEMC2, {write buffer} (8 words?) and {coprocessor} interface.
The {ARM7} processor core uses half the power of the {ARM6}
and takes around half the {die} size. In a full processor
design ({ARM700} chip) it should provide 50% to 100% more
performance.
In July 1994 {VLSI Technology, Inc.} released the {ARM710}
processor chip.
{Thumb} is an implementation with reduced code size
requirements, intended for {embedded} applications.
An {ARM800} chip is also planned.
{AT&T}, {IBM}, {Panasonic}, {Apple Coputer}, {Matsushita} and
{Sanyo} either rely on, or manufacture, ARM 32 bit processor
chips.
{Usenet} newsgroup: {news:comp.sys.arm}.
(02 Dec 1994)
Advanced RISC Machines Ltd.
<company> (ARM) A company formed in 1990 by {Acorn Computers}
Ltd., {Apple Computer, Inc.} and {VLSI Technology} to market
and develop the {Advanced RISC Machine} {microprocessor}
family, originally designed by Acorn.
ARM Ltd. also designs and licenses peripheral chips and
supplies supporting software and hardware tools. In April
1993, Nippon Investment and Finance, a Daiwa Securities
company, became ARM's fourth investor. In May 1994 Samsung
became the sixth large company to have a licence to use the
ARM processor core.
The success of ARM Ltd. and the strategy to widen the
availability of RISC technology has resulted in its chips now
being used in a range of products including the {Apple
Newton}. As measured by an independent authority, more ARM
processors were shipped than {SPARC} chips in 1993. ARM has
also sold three times more chips than the {PowerPC}
consortium.
{Home (http://www.systemv.com/armltd/index.html)}
E-mail: armltd.co.uk.
Address: Advanced RISC Machines Ltd. Fulbourn Road, Cherry
Hinton, Cambridge CB1 4JN, UK.
Telephone: +44 (1223) 400 400. Fax: +44 (1223) 400 410.
(03 Nov 1994)
Advanced Software Environment
<programming> (ASE) An {object-oriented} {application support
system} from {Nixdorf}.
(12 Sep 1995)
Advanced Technology Attachment
<storage, hardware, standard> (ATA, AT Attachment) {ANSI}
group X3T10's official name for the {disk drive} interface
{standard} commonly known as {Integrated Drive Electronics}
(IDE).
{(http://www.symbios.com/x3t10/)}.
(21 Mar 1996)
Advanced Technology Attachment Interface with Extensions
<storage, standard> (ATA-2) A proposed (May 1996 or earlier?)
{standard} from {X3T10} (document 948D rev 3) which extends
the {AT Attachment} interface while maintaining compatibility
with current {IBM PC} {BIOS} designs.
{Marketroids} call ATA-2 "Fast ATA" or "Fast ATA-2" since the
main changes are increased interface speed. Optional support
for power saving modes and removable devices is also in the
standard.
(16 Oct 1996)
Advanced WavEffect
<multimedia, hardware> (AWE) The kind of synthesis used by the
{EMU 8000} music synthesizer {integrated circuit} found on the
{SB AWE32} card.
(15 Dec 1996)
ADVENT
<games> /ad'vent/ The prototypical computer {Adventure} game,
first implemented by Will Crowther for a {CDC} computer
(probably the 6600?) as an attempt at computer-refereed
fantasy gaming.
ADVENT was ported to the {PDP-10}, and expanded to the
350-point {Classic} puzzle-oriented version, by Don Woods of
the {Stanford Artificial Intelligence Laboratory} (SAIL). The
game is now better known as Adventure, but the {TOPS-10}
{operating system} permitted only six-letter filenames. All
the versions since are based on the SAIL port.
David Long of the {University of Chicago} Graduate School of
Business Computing Facility (which had two of the four
{DEC20}s on campus in the late 1970s and early 1980s) was
responsible for expanding the cave in a number of ways, and
pushing the point count up to 500, then 501 points. Most of
his work was in the data files, but he made some changes to
the {parser} as well.
This game defined the terse, dryly humorous style now expected
in text adventure games, and popularised several tag lines
that have become fixtures of hacker-speak: "A huge green
fierce snake bars the way!" "I see no X here" (for some noun
X). "You are in a maze of twisty little passages, all alike."
"You are in a little maze of twisty passages, all different."
The "magic words" {xyzzy} and {plugh} also derive from this
game.
Crowther, by the way, participated in the exploration of the
Mammoth & Flint Ridge cave system; it actually *has* a
"Colossal Cave" and a "Bedquilt" as in the game, and the "Y2"
that also turns up is cavers' jargon for a map reference to a
secondary entrance.
See also {vadding}.
[Was the original written in FORTRAN?]
(01 Apr 1996)
Adventure Definition Language
<language, games> (ADL) An {adventure} game language
{interpreter} designed by Ross Cunniff <cunniff@fc.hp.com> and
Tim Brengle in 1987. ADL is semi-{object-oriented} with
{Lisp}-like {syntax} and is a superset of {DDL}. It is
available for {Unix}, {MS-DOS}, {Amiga} and {Acorn}
{Archimedes}.
{(ftp://ftp.uu.net/usenet/comp.sources.games/volume2)},
{(ftp://ftp.wustl.edu/systems/amiga/fish/fish/f0/ff091)}.
(20 Mar 1995)
ADVSYS
<language, games> An {adventure} game language designed by
David Betz in 1986. ADVSYS is {object-oriented} and
{Lisp}-like.
{(ftp://ftp.uu.net/usenet/comp.sources.games/volume2)}
(20 Mar 1995)
AE
{Application Executive}
AED
{Automated Engineering Design}
AEGIS
<operating system> A {Unix} variant that was used on {Apollo}
{workstations} before Apollo was bought by {Hewlett Packard}.
AEGIS has some advantages over standard {BSD} or {System V}
Unix. It includes faster file access and a richer command
set; there are commands to find out which {process} is running
on a particular node, which process is locking a particular
file, etc.
(25 Feb 1997)
Aegis
<programming, tool> A {CASE} tool for project change
management, from the {GNU} project.
(27 Mar 1995)
Aeolus
<language> A {concurrent} language with {atomic transaction}s.
["Rationale for the Design of Aeolus", C. Wilkes et al, Proc
IEEE 1986 Intl Conf Comp Lang, IEEE 1986, pp.107-122].
(27 Mar 1995)
AEP
{Application Environment Profile}
aeroplane rule
"Complexity increases the possibility of failure; a
twin-engine aeroplane has twice as many engine problems as a
single-engine aeroplane."
By analogy, in both software and electronics, the rule that
simplicity increases robustness. It is correspondingly argued
that the right way to build reliable systems is to put all
your eggs in one basket, after making sure that you've built a
really *good* basket.
See also {KISS Principle}.
(04 Apr 1995)
AES
{Application environment specification}
AESOP
{An Evolutionary System for On-line Programming}
AFAC
<language> An early system on the {IBM 704}.
[Listed in CACM 2(5):16 (May 1959)].
(04 Apr 1995)
AFAIK
<talk> as far as I know.
affine transformation
<mathematics> A {linear transformation} followed by a
{translation}. Given a {matrix} M and a {vector} v,
A(x) = Mx + v
is a typical affine transformation.
(10 Apr 1995)
AFIPS
{American Federation of Information Processing Societies}
AFJ
{April Fool's Joke}
AFK
<talk> away from keyboard.
aflex
<tool> A {Lex}-like {scanner generator} that produce {Ada}
output from IRUS (Irvine Research Unit in Software). aflex
comes with {ayacc}.
Version 1.2a.
Mailing list: <irus-software-request@ics.uci.edu>.
{(ftp://liege.ics.uci.edu/pub/irus/aflex-ayacc_1.2a.tar.Z)}
(06 Jan 1993)
AFNOR
<body, standard> Association Francaise pour la Normalisation.
The French national {standard}s institute, a member of {ISO}.
(14 Dec 1994)
AFP
{Appletalk Filing Protocol}
AFS
{Andrew File System}
AFUU
{Association Française des Utilisateurs d'Unix}
agent
<networking> In the {client-server} model, the part of the
system that performs information preparation and exchange on
behalf of a {client} or {server}. Especially in the phrase
"intelligent agent" it implies some kind of automatic process
which can communicate with other agents to perform some
collective task on behalf of one or more humans.
(09 Apr 1995)
aggregate type
<programming> A data {type} composed of multiple elements. An
aggregate can be homogeneous (all elements have the same type)
e.g. an {array}, a list in a {functional language}, a string
of characters, a file; or it can be heterogeneous (elements
can have different types) e.g. a {structure}. In most
languages aggregates can contain elements which are themselves
aggregates. e.g. a list of lists.
See also {union}.
(23 Mar 1996)
aggregation
<programming> A composition technique for building a new
{object} from one or more existing objects that support some
or all of the new object's required interfaces.
(07 Jan 1996)
AGL
<programming> (Atelier de Genie Logiciel) French for {IPSE}.
(07 Jan 1997)
AGM Theory for Belief Revision
<artificial intelligence> (After the initials of the authors
who established the field - Alchourron, Makinson and
Gardenfors). A method of {belief revision} giving minimal
properties a revision process should have.
[Reference?]
(20 Mar 1995)
AGORA
<language> A distributed {object-oriented language}.
A Hardware Programming Language
<language> (AHPL) A {register}-level language by Hill and
Peterson, some of whose operators resemble {APL}.
HPSIM2 is a function-level simulator, available from Engrg
Expt Sta, {University of Arizona}.
["Digital Systems: Hardware Organization and Design", F. Hill
et al, Wiley 1987].
(26 Jan 1995)
AHDL
{Analog Hardware Design Language}
AHPL
{A Hardware Programming Language}
AI
{artificial intelligence}
AIA
{Application Integration Architecture}
AI-complete
<artificial intelligence, jargon> /A-I k*m-pleet'/ (MIT,
Stanford: by analogy with "{NP-complete}") A term used to
describe problems or subproblems in {artificial intelligence},
to indicate that the solution presupposes a solution to the
"strong AI problem" (that is, the synthesis of a human-level
intelligence). A problem that is AI-complete is, in other
words, just too hard.
See also {gedanken}.
(12 Apr 1995)
AID
{Algebraic Interpretive Dialogue}
AIDA
<language> 1. A {functional} dialect of {Dictionary APL} by
M. Gfeller.
["APL Arrays and Their Editor", M. Gfeller, SIGPLAN Notices
21(6):18-27 (June 1986) and SIGAPL Conf Proc].
2. An intermediate representation language for {Ada} developed
at the {University of Karlsruhe} in 1980. AIDA was merged
with {TCOL.Ada} to form {Diana}.
["AIDA Introduction and User Manual", M. Dausmann et al, U
Karlsruhe, Inst fur Inform II, TR Nr 38/80].
["AIDA Reference Manual", ibid, TR Nr 39/80, Nov 1980].
(12 Apr 1995)
AIDS
<jargon> /aydz/ A* Infected Disk Syndrome ("A*" is a
{glob} pattern that matches, but is not limited to, {Apple
Computer}), this condition is quite often the result of
practicing unsafe {SEX}.
See {virus}, {worm}, {Trojan horse}, {virgin}.
(13 Apr 1995)
AIDX
<abuse, operating system> /aydkz/ A derogatory term for
{IBM}'s perverted version of {Unix}, {AIX}, especially for the
AIX 3.? used in the {IBM RS/6000} series (some hackers think
it is funnier just to pronounce "AIX" as "aches"). A victim
of the dreaded "hybridism" disease, this attempt to combine
the two main currents of the Unix stream ({BSD} and {USG
Unix}) became a monstrosity to haunt system administrators'
dreams. For example, if new accounts are created while many
users are logged on, the load average jumps quickly over 20
due to silly implementation of the user databases.
For a quite similar disease, compare {HP-SUX}. Also, compare
{Macintrash} {Nominal Semidestructor}, {Open DeathTrap},
{ScumOS}, {sun-stools}.
(13 Apr 1995)
AIFF
{Audio IFF}
AI koan
<humour> /A-I koh'an/ One of a series of pastiches of Zen
teaching riddles created by {Danny Hillis} at the {MIT AI Lab}
around various major figures of the Lab's culture.
See also {ha ha only serious}, {mu}.
In reading these, it is at least useful to know that {Marvin
Minsky}, {Gerald Sussman}, and Drescher are {AI} researchers
of note, that {Tom Knight} was one of the {Lisp machine}'s
principal designers, and that {David Moon} wrote much of Lisp
Machine Lisp.
* * *
A novice was trying to fix a broken Lisp machine by turning
the power off and on.
Knight, seeing what the student was doing, spoke sternly: "You
cannot fix a machine by just power-cycling it with no
understanding of what is going wrong."
Knight turned the machine off and on.
The machine worked.
* * *
One day a student came to Moon and said: "I understand how to
make a better garbage collector. We must keep a reference
count of the pointers to each cons."
Moon patiently told the student the following story:
"One day a student came to Moon and said: `I understand
how to make a better garbage collector...
[Pure reference-count garbage collectors have problems with
circular structures that point to themselves.]
* * *
In the days when Sussman was a novice, Minsky once came to him
as he sat hacking at the PDP-6.
"What are you doing?", asked Minsky.
"I am training a randomly wired neural net to play
Tic-Tac-Toe", Sussman replied.
"Why is the net wired randomly?", asked Minsky.
"I do not want it to have any preconceptions of how to play",
Sussman said.
Minsky then shut his eyes.
"Why do you close your eyes?", Sussman asked his teacher.
"So that the room will be empty."
At that moment, Sussman was enlightened.
* * *
A disciple of another sect once came to Drescher as he was
eating his morning meal.
"I would like to give you this personality test", said the
outsider, "because I want you to be happy."
Drescher took the paper that was offered him and put it into
the toaster, saying: "I wish the toaster to be happy, too."
(08 Feb 1995)
AIMACO
{AIr MAterial COmmand compiler}
Aimnet
<networking, company> An {Internet} {access provider} for
individuals and corporations. They provide {dial-up}, {SLIP},
{PPP} and {shell account}s as well as {ISDN}.
{Home (http://www.aimnet.com/)}
Address: Cupertino, CA 95014, USA.
Telephone: +1 (408) 253 0900
(08 Feb 1995)
AIr MAterial COmmand compiler
<language> (AIMACO) A modification of {FLOW-MATIC}. AIMACO
was supplanted by {COBOL}.
[Sammet 1969, p. 378].
(20 Feb 1995)
AIX
{Advanced Interactive eXecutive}
AKC
{Ascending Kleene Chain}
AKCL
{Austin Kyoto Common Lisp}
AKL
{Andorra Kernel Language}
AL
1. {Assembly Language}.
2. {artificial life}.
Aladdin Systems
<company> The developers of the {stuffit} file archiving and
{compression} utility for the {Macintosh}.
(01 Mar 1995)
ALADIN
1. <language> {A Language for Attributed Definitions}.
2. <tool> An interactive mathematics system for the {IBM 360}.
["A Conversational System for Engineering Assistance: ALADIN",
Y. Siret, Proc Second Symp Symb Algebraic Math, ACM Mar 1971].
(13 Apr 1995)
ALAM
<language> A language for {symbolic mathematics}, especially
General Relativity.
See also {CLAM}.
["ALAM Programmer's Manual", Ray D'Inverno, 1970].
(28 Oct 1994)
A-language
<language> An early {ALGOL}-like {surface syntax} for {Lisp}.
["An Auxiliary Language for More Natural Expression--The
A-language", W. Henneman in The Programming Language LISP,
E.C. Berkeley et al eds, MIT Press 1964, pp.239- 248].
(28 Oct 1994)
A Language Encouraging Program Hierarchy
<language> (ALEPH) A language developed in about 1975.
["On the Design of ALEPH", D. Grune, CWI, Netherlands 1986].
(27 Feb 1997)
A Language for Attributed Definitions
<language> (ALADIN) A language for formal specification of
{attributed grammar}s. ALADIN is the input language for the
{GAG} compiler generator. It is {applicative} and {strongly
typed}.
["GAG: A Practical Compiler Generator", Uwe Kastens
<uwe@uni-paderborn.de> et al, LNCS 141, Springer 1982].
(14 Apr 1995)
A Language with an Extensible Compiler
<language> (ALEC) A language Implemented using {RCC} on an
{ICL 1906A}.
["ALEC - A User Extensible Scientific Programming Language",
R.B.E. Napper et al, Computer J 19(1):25-31].
(19 Apr 1995)
Alan Kay
<person> The leader of the Software Concepts Group at {Xerox}
{Palo Alto Research Centre} which developed {Smalltalk}, the
pioneering {object-oriented programming} system, in 1972.
(24 Nov 1994)
Alan M. Turing
{Alan Turing}
Alan Turing
<person> Alan M. Turing, 22/3? June 1912 - 7 June 1954. A
British mathematician, inventor of the {Turing Machine}.
Turing also proposed the {Turing test}. Turing's work was
fundamental in the theoretical foundations of computer
science.
Turing studied at {King's College London} and was a graduate
student at {Princeton University} from 1936 to 1938. While at
Princeton Turing published "On Computable Numbers", a paper in
which he conceived an {abstract machine}, now called a {Turing
Machine}.
Turing returned to England in 1938 and during World War II, he
worked in the British Foreign Office. He masterminded
operations at {Bletchley Park}, UK which were highly
successful in cracking the Nazis "Enigma" codes during World
War II. Some of his early advances in computer design were
inspired by the need to perform many repetitive symbolic
manipulations quickly. Before the building of the {Colossus}
computer this work was done by a roomful of women.
In 1945 he joined the {National Physical Laboratory} in London
and worked on the design and construction of a large computer,
named {Automatic Computing Engine} (ACE). In 1949 Turing
became deputy director of the Computing Laboratory at
Manchester where the {Manchester Automatic Digital Machine},
the worlds largest memory computer, was being built.
He also worked on theories of {artificial intelligence}, and
on the application of mathematical theory to biological forms.
In 1952 he published the first part of his theoretical study
of morphogenesis, the development of pattern and form in
living organisms.
Turing was gay, and died rather young, not for the reason
that's common today, but under mysterious circumstances. He
was arrested for violation of British homosexuality statutes
in 1952. He died of potassium cyanide poisoning while
conducting electrolysis experiments. An inquest concluded
that it was self-administered but it is now thought by some to
have been an accident.
There is an excellent biography of Turing by Andrew Hodges,
subtitled "The Enigma of Intelligence" and a play based on it
called "Breaking the Code". There was also a popular summary
of his work in Douglas Hofstadter's book "Gödel, Escher,
Bach".
(10 May 1995)
A-law
<standard> The {ITU-T} {standard} for {nonuniform quantising
logarithmic compression}.
[Equation?]
(21 Feb 1995)
ALC
1. {Assembly Language Compiler}.
2. {Airline Line Control}.
(05 Feb 1997)
Alcool-90
<language> An {object-oriented} extension of {ML} with
run-time {overloading} and a type-based notion of {module}s,
{functor}s and {inheritance}. It is built on {CAML Light}.
{(ftp://ftp.inria.fr/lang/alcool)}
E-mail: <Francois.Rouaix@inria.fr>.
(18 Apr 1995)
ALCOR
<language> A subset of {ALGOL}.
[Sammet 1969, p. 180].
(18 Apr 1995)
Aldat
<language> A {database} language, based on {extended algebra}.
[Listed by M.P. Atkinson & J.W. Schmidt in a tutorial in
Zurich, 1989].
(19 Apr 1995)
ALDES
{ALgorithm DEScription}
ALDiSP
{Applicative Language for Digital Signal Processing}
ALEC
{A Language with an Extensible Compiler}
ALEF
<language> A programming language from {Bell Labs}. ALEF
boasts few new ideas but is instead a careful synthesis of
ideas from other languages. The result is a practical general
purpose programming language which was once displacing {C} as
their main implementation language. Both {shared variables}
and {message passing} are supported through language
constructs.
A {window system}, {user interface}, {operating system}
network code, {news reader}, {mailer} and variety of other
tools in {Plan 9} are now implemented using ALEF.
(13 Feb 1997)
ALEPH
1. <language> {A Language Encouraging Program Hierarchy}.
2. <tool> A system for formal {semantics} written by Peter
Henderson ca. 1970.
[CACM 15(11):967-973 (Nov 1972)].
(15 Dec 1994)
Aleph
<text, language> ["Aleph: A language for typesetting", Luigi
Semenzato <luigi@cs.berkeley.edu> and Edward Wang
<edward@cs.berkeley.edu> in Proceedings of Electronic
Publishing, 1992 Ed. Vanoirbeek & Coray Cambridge University
Press 1992].
(15 Dec 1994)
aleph 0
<mathematics> The {cardinality} of the first {infinite}
{ordinal}, {omega} (the number of {natural numbers}).
Aleph 1 is the cardinality of the smallest {ordinal} whose
cardinality is greater than aleph 0, and so on up to aleph
omega and beyond. These are all kinds of {infinity}.
The {Axiom of Choice} (AC) implies that every set can be
{well-ordered}, so every {infinite} {cardinality} is an aleph;
but in the absence of AC there may be sets that can't be
well-ordered (don't posses a {bijection} with any {ordinal})
and therefore have cardinality which is not an aleph.
These sets don't in some way sit between two alephs; they just
float around in an annoying way, and can't be compared to the
alephs at all. No {ordinal} possesses a {surjection} onto
such a set, but it doesn't surject onto any sufficiently large
ordinal either.
(29 Mar 1995)
Alex
<language> 1. A {polymorphic} language being developed by
Stephen Crawley <sxc@itd.dtso.oz.au> of Defence Science & Tech
Org, Australia. Alex has {abstract data type}s, {type
inference} and {inheritance}.
2. <language> An {ISWIM}-like language with {exception
handling}.
["An Exception Handling Construct for Functional Languages",
M. Brez et al, in Proc ESOP88, LNCS 300, Springer 1988].
3. <tool> A {scanner generator}. {Alexis} is its input
language.
["Alex: A Simple and Efficient Scanner Generator", H.
Mossenbock, SIGPLAN Notices 21(5), May 1986].
(15 Dec 1994)
Alexis
<language> Alex Input Specification.
The input language for the {scanner generator} {Alex}.
(23 Apr 1995)
ALF
{Algebraic Logic Functional language}
Alfl
<language> A lazy function language. A {weakly typed}, {lazy}
{functional language} developed by Paul Hudak
<hudak-paul@cs.yale.edu> of Yale in 1983. Alfl is implemented
as a {Scheme} {preprocessor} for the {Orbit} compiler, by
transforming laziness into {force}-and-{delay}.
["Alfl Reference Manual and Programmer's Guide", P. Hudak,
YALEU/DCS/RR322, Yale U, Oct 1984].
See also {ParAlfl}.
(24 Apr 1995)
algebra
1. <mathematics> A loose term for an {algebraic structure}.
2. <logic> A {vector space} that is also a {ring}, where the
vector space and the ring share the same addition operation
and are related in certain other ways (see below).
For example, the set of 2x2 {matrices} with {real numbers} as
entries, with the usual operations of addition and matrix
multiplication, and the usual scalar multiplication. Another
example is the set of all {polynomials} with real
coefficients, with the usual operations.
In more detail, we have:
(1) an underlying {set},
(2) a {field} of {scalars},
(3) an operation of scalar multiplication, whose input is a
scalar and a member of the underlying set and whose output is
a member of the underlying set, just as in a {vector space},
(4) an operation of addition of members of the underlying set,
whose input is an {ordered pair} of such members and whose
output is one such member, just as in a vector space or a
ring,
(5) an operation of multiplication of members of the
underlying set, whose input is an ordered pair of such members
and whose output is one such member, just as in a ring.
This whole thing constitutes an `algebra' iff:
(1) it is a vector space if you discard item (5) and
(2) it is a ring if you discard (2) and (3) and
(3) for any scalar r and any two members A, B of the
underlying set we have r(AB) = (rA)B = A(rB). In other words
it doesn't matter whether you multiply members of the algebra
first and then multiply by the scalar, or multiply one of them
by the scalar first and then multiply the two members of the
algebra. Note that the A comes before the B because the
multiplication is in some cases not commutative, e.g. the
matrix example.
Another example (an example of a {Banach algbra}) is the set
of all {bounded} {linear operators} on a {Hilbert space}, with
the usual {norm}. The multiplication is the operation of
{composition} of operators, and the addition and scalar
multiplication are just what you would expect.
Two other examples are {tensor algebras} and {Clifford
algebras}.
[I. N. Herstein, "Topics_in_Algebra"].
(28 Feb 1997)
ALGEBRAIC
<language> An early system on {MIT}'s {Whirlwind}.
[CACM 2(5):16 (May 1959)].
(24 Jan 1995)
algebraic
<theory> In {domain theory}, a {complete partial order} is
algebraic if every element is the {least upper bound} of some
{chain} of {compact} elements. If the set of compact elements
is {countable} it is called {omega-algebraic}.
[Significance?]
(25 Apr 1995)
algebraic data type
<programming> (Or "sum of products type") In {functional
programming}, new types can be defined, each of which has one
or more {constructor}s. Such a type is known as an algebraic
data type. E.g. in {Haskell} we can define a new type, "Tree":
data Tree = Empty | Leaf Int | Node Tree Tree
with constructors "Empty", "Leaf" and "Node". The
constructors can be used much like functions in that they can
be (partially) applied to arguments of the appropriate type.
For example, the Leaf constructor has the functional type Int
-> Tree.
A constructor application cannot be reduced (evaluated) like a
function application though since it is already in {normal
form}. Functions which operate on algebraic data types can be
defined using {pattern matching}:
depth :: Tree -> Int
depth Empty = 0
depth (Leaf n) = 1
depth (Node l r) = 1 + max (depth l) (depth r)
The most common algebraic data type is the list which has
constructors Nil and Cons, written in Haskell using the
special syntax "[]" for Nil and infix ":" for Cons.
Special cases of algebraic types are {product type}s (only one
constructor) and {enumeration type}s (many constructors with
no arguments). Algebraic types are one kind of {constructed
type} (i.e. a type formed by combining other types).
An algebraic data type may also be an {abstract data type}
(ADT) if it is exported from a {module} without its
constructors. Objects of such a type can only be manipulated
using functions defined in the same {module} as the type
itself.
In {set theory} the equivalent of an algebraic data type is a
{discriminated union} - a set whose elements consist of a tag
(equivalent to a constructor) and an object of a type
corresponding to the tag (equivalent to the constructor
arguments).
(23 Nov 1994)
Algebraic Interpretive Dialogue
<language> (AID) A version of {Joss} II for the {PDP-10}.
["AID (Algebraic Interpretive Dialogue)", DEC manual, 1968].
(12 Apr 1995)
Algebraic Logic Functional language
<language> (ALF) A language by Rudolf Opalla
<opalla@julien.informatik.uni-dortmund.de> which combines
{functional programming} and {logic programming} techniques.
ALF is based on {Horn clause} logic with equality which
consists of {predicate}s and Horn clauses for {logic
programming}, and functions and equations for {functional
programming}. Any functional expression can be used in a
{goal} literal and arbitrary predicates can occur in
conditions of equations. ALF uses {narrowing} and
{rewriting}.
ALF includes a compiler to {Warren Abstract Machine} code and
{run-time support}.
{(ftp://ftp.germany.eu.net/pub/programming/languages/LogicFunctional)}
["The Implementation of the Functional-Logic Language ALF",
M. Hanus and A. Schwab].
(08 Oct 1992)
Algebraic Manipulation Package
<mathematics, tool> (AMP) A {symbolic mathematics} program
written in {Modula-2}, seen on {CompuServe}.
(19 Oct 1994)
Algebraic Specification Language
1. <language> (ASL)
["Structured Algebraic Specifications: A Kernel Language",
M. Wirsing, Theor Comput Sci 42, pp.123-249, Elsevier 1986].
2. <language> (ASF) A language for equational specification of
{abstract data types}.
["Algebraic Specification", J.A. Bergstra et al, A-W 1989].
(13 Dec 1995)
algebraic structure
<mathematics> Any formal mathematical system consisting of a
set of objects and operations on those objects. Examples are
{Boolean algebra}, numerical algebra, set algebra and matrix
algebra.
[Is this the most common name for this concept?]
(25 Feb 1997)
Algebra of Communicating Processes
<theory> (ACP)
Compare {CCS}.
["Algebra of Communicating Processes with Abstraction",
J.A. Bergstra & J.W. Klop, Theor Comp Sci 37(1):77-121 1985].
[Summary?]
(08 Nov 1994)
ALGOL
{ALGOL 60}
ALGOL 58
<language> An early version of {ALGOL 60}, originally known as
"{IAL}".
["Preliminary report - International Algebraic Language", CACM
1(12):8, 1958].
[Details? Relationship to ALGOL 60?]
(05 Mar 1997)
ALGOL 60
<language> ALGOrithmic Language 1960.
A portable language for scientific computations. ALGOL 60 was
small and elegant. It was {block-structured}, nested,
{recursive} and {free form}. It was also the first language
to be described in {BNF}.
There were three {lexical} representations: hardware,
reference, and publication. The only structured data types
were {arrays}, but they were permitted to have lower bounds
and could be dynamic. It also had {conditional expressions};
it introduced :=; if-then-else; very general "for" loops;
switch declaration (an array of statement labels generalising
{FORTRAN}'s {computed goto}). Parameters were {call-by-name}
and {call-by-value}. It had {static} local "own" variables.
It lacked user-defined types, character manipulation and
{standard I/O}.
See also {EULER}, {ALGOL 58}, {ALGOL 68}, {Foogol}.
["Report on the Algorithmic Language ALGOL 60", Peter Naur
ed., CACM 3(5):299-314, May 1960].
(25 Jan 1995)
ALGOL 60 Modified
<language>
["A Supplement to the ALGOL 60 Revised Report", R.M. DeMorgan
et al, Computer J 19(4):364].
[SIGPLAN Notices 12(1) 1977].
An erratum in [Computer J 21(3):282 (Aug 1978)] applies to
both.
(25 Jan 1995)
ALGOL 60 Revised
<language> (Or "Revised ALGOL 60") A revision of {Algol 60}
which still lacked {standard I/O}.
["Revised Report on the Algorithmic Language ALGOL 60", Peter
Naur ed, CACM 6(1):1-17 (Jan 1963)].
[Sammet 1969, p.773].
(25 Jan 1995)
ALGOL 68
<language> An extensive revision of {ALGOL 60} by Adriaan van
Wijngaarden et al. ALGOL 68 was discussed from 1963 by
Working Group 2.1 of {IFIP}. Its definition was accepted in
December 1968.
ALGOL 68 was complex, and posed difficulties for both
implementors and users. It featured {structural equivalence};
automatic type conversion ("{cooercion}") including
{dereferencing}; {flexible arrays}; generalised loops
(for-from-by-to-while-do-od), if-then-elif-fi, an integer case
statement with an 'out' clause; {skip} and {goto} statements;
blocks; procedures; user-defined operators; {procedure
parameters}; {concurrent} execution (cobegin/coend);
{semaphores}; generators "heap" and "loc" for {dynamic
allocation}. It had no {abstract data types} or {separate
compilation}.
(01 May 1995)
ALGOL 68C
<language> A variant of {ALGOL 68} developed by S. Bourne and
Mike Guy of {Cambridge University} in 1975 and used as the
implementation language for the {CHAOS} OS for the {CAP}
{capability} computer. ALGOL 68C was ported to the {IBM 360},
{VAX}/{VMS}, and several other {platforms}.
(02 May 1995)
ALGOL 68-R
<language> A restriction of {ALGOL 68} permitting {one-pass
compilation}, developed at the Royal Signals Radar
Establishment, Malvern, Worcester, UK in April 1970.
{Identifiers}, modes and operators must be declared before
use. There is no {automatic proceduring} and no
{concurrency}. It was implemented in {ALGOL 60} under {GEORGE
3} on an {ICL 1907F}.
["ALGOL 68-R, Its Implementation and Use", I.F. Currie et al,
Proc IFIP Congress 1971, N-H 1971, pp. 360-363].
(03 May 1995)
ALGOL 68 Revised
<language> A significant simplification of {ALGOL 68}.
["Revised Report on the Algorithmic Language ALGOL 68," A. Van
Wijngaarden et al, Acta Informatica 5:1-236, 1975, also
Springer 1976, and SIGPLAN Notices 12(5):1-70, May 1977].
(03 May 1995)
ALGOL 68RS
<language> An extension of {ALGOL 68} supporting {function
closures} by the Royal Signals Radar Establishment, Malvern
UK. It has been ported to {Multics} and {VAX}/{VMS}.
(04 May 1995)
ALGOL 68S
<language> A subset of {ALGOL 68} allowing simpler
compilation, intended mainly for numerical computation. It
was rewritten in {BLISS} for the {PDP-11}, and later in
{Pascal}. It is available as {shareware} from Charles Lindsey
<chl@cs.man.ac.uk>.
Version 2.3 runs on {Sun3} under {SunOS} 4.x and {Atari} under
{GEMDOS} (or potentially other computers supported by the
{Amsterdam Compiler Kit}).
["A Sublanguage of ALGOL 68", P.G. Hibbard, SIGPLAN Notices
12(5), May 1977].
(04 May 1995)
ALGOL C
<language> A variant of {ALGOL 60} developed by Clive Feather
of {Cambridge University} ca. 1981. ALGOL C added
{structures} and {exception} handling. It was designed for
beginners and students.
(24 Nov 1994)
ALGOL D
<language>
["A Proposal for Definitions in ALGOL", B.A. Galler et al,
CACM 10:204-219, 1967].
ALGOL N
<language> A successor to {ALGOL 60} proposed by Yoneda.
(24 Nov 1994)
ALGOL W
<language> A derivative of {ALGOL 60}. It introduced {double
precision}, {complex numbers}, bit strings and dynamic data
structures. It is parsed entirely by {operator precedence}
and used the {call-by-value-result} calling convention.
["A Contribution to the Development of Algol", N. Wirth, CACM
9(6):413-431, June 1966].
["ALGOL W Implementation", H. Bauer et al, TR CS98, Stanford
U, 1968].
(24 Nov 1994)
ALGOL X
<language> A proposed successor to {ALGOL 60}, a "short-term
solution to existing difficulties". Three designs were
proposed, by {Wirth}, Seegmuller and van Wijngaarden.
[Sammet 1969, p. 194].
(07 May 1995)
ALGOL Y
<language> A proposed successor to {ALGOL 60}, a "radical
reconstruction". Originally a language that could manipulate
its own programs at {run-time}, it became a collection of
features that were not accepted for {ALGOL X}.
(09 May 1995)
algorithim
<spelling> Misspelling of "{algorithm}".
(25 Feb 1997)
algorithm
<algorithm, programming> A detailed sequence of actions to
perform to accomplish some task. Named after an Iranian
mathematician, Al-Khawarizmi.
Technically, an algorithm must reach a result after a {finite}
number of steps, thus ruling out {brute force} search methods
for certain problems, though some might claim that brute force
search was also a valid (generic) algorithm. The term is also
used loosely for any sequence of actions (which may or may not
terminate).
(06 Apr 1996)
ALgorithm DEScription
<language> (ALDES) ["The Algorithm Description Language
ALDES", R.G.K. Loos, SIGSAM Bull 14(1):15-39 (Jan 1976)].
(19 Apr 1995)
ALgorIthmic ASsembly language
<language> (ALIAS) A machine oriented variant of {BLISS}.
ALIAS was implemented in {BCPL} for the {PDP-9}.
["ALIAS", H.E. Barreveld, Int Rep, Math Dept, Delft U Tech,
Netherlands, 1973].
(13 Mar 1997)
Algorithmic Language
{Algol 60}
Algorithmic Model
<programming> A method of estimating software cost using
mathematical {algorithms} based on the parameters which are
considered to be the major cost drivers. These estimate of
effort or cost are based primarily on the size of the software
or {Delivered Source Instructions} (DSI)s, and other
productivity factors known as {Cost Driver Attributes}.
See also {Parametric Model}.
(28 May 1996)
Algorithmic Processor Description Language
<language> (APDL) An {ALGOL 60}-like language for describing
computer design, for the {CDC G-21}.
["The Description, Simulation, and Automatic Implementation of
Digital Computer Processors", J.A. Darringer, Ph.D Thesis EE
Dept, CMU May 1969].
(26 Nov 1995)
Algorithmic Test Case Generation
<programming> A computational method for identifying test
cases from data, logical relationships or other software
{requirements} information.
(10 May 1996)
ALGY
<language> An early language for {symbolic mathematics}.
[Sammet 1969, p. 520].
(12 Apr 1995)??
ALIAS
{ALgorIthmic ASsembly language}
alias
A name, usually short and easy to remember and type, that is
translated into another name or string, usually long and
difficult to remember or type. Most {command interpreter}s
(e.g. {Unix}'s {csh}) allow the user to define aliases for
commands, e.g. "alias l ls -al". These are loaded into memory
when the interpreter starts and are expanded without needing
to refer to any file.
{Hostname}s may also have aliases which are other names for
the same {Internet address}. E.g. in the {Unix} {hosts}
database (/etc/hosts or {NIS} map) the first field on a line
is the {Internet address}, the next is the official hostname
(the "{canonical} name" or "{CNAME}") and any others are
aliases. Hostname aliases often indicate that the host with
that alias provides a particular network service such as
{archie}, {finger}, {FTP}, or {World-Wide Web}. The
assignment of services to hosts can then be changed simply by
moving an alias (e.g. www.doc.ic.ac.uk) from one {Internet
address} to another, without the clients needing to be aware
of the change.
(21 Feb 1995)
aliasing bug
<programming> (Or "{stale pointer bug}") A class of subtle
programming errors that can arise in code that does {dynamic
allocation}, especially via {malloc} or equivalent. If
several pointers address (are "aliases for") a given hunk of
storage, it may happen that the storage is freed or
reallocated (and thus moved) through one alias and then
referenced through another, which may lead to subtle (and
possibly intermittent) lossage depending on the state and the
allocation history of the malloc {arena}. This bug can be
avoided by never creating aliases for allocated memory, or by
use of a {higher-level language}, such as {Lisp}, which
employs a {garbage collector}.
Though this term is nowadays associated with {C} programming,
it was already in use in a very similar sense in the {ALGOL
60} and {FORTRAN} communities in the 1960s.
See also {precedence lossage}, {smash the stack}, {fandango on
core}, {memory leak}, {memory smash}, {overrun screw}, {spam}.
(09 May 1995)
Alice
<computer, parallel> A parallel {graph rewriting} computer
developed by {Imperial College}, {University of Edinburgh} and
{ICL}.
(19 Jan 1995)
alife
{artificial life}
A-Life
{artificial life}
ALJABR
<tool> An implementation of {MACSYMA} for the {Macintosh} by
{Fort Pond Research}.
E-mail: <aljabr@fpr.com>.
(21 Feb 1995)
all-elbows
<jargon> Said of a {TSR} (terminate-and-stay-resident)
{mess-dos} program, such as the N pop-up calendar and
calculator utilities that circulate on {BBS} systems:
unsociable. Used to describe a program that {rude}ly steals
the resources that it needs without considering that other
TSRs may also be resident. One particularly common form of
rudeness is lock-up due to programs fighting over the keyboard
interrupt.
(21 Feb 1995)
ALLIANCE
<tool> A complete set of CAD tools for teaching Digital CMOS
VLSI Design in Universities. It includes VHDL compiler and
simulator, logic synthesis tools, automatic place and route.
ALLIANCE is the result of a ten years effort at University
Pierre et Marie Curie (PARIS VI, France).
Version 1.1
compiler, simulator, tools and environment, documentation
{(ftp://ftp-masi.ibp.fr/pub/cao-vlsi/alliance)}
ports: Sun4, also not well supported: Mips/Ultrix, 386/SystemV
Mailing list: <alliance-request@masi.ibp.fr>.
E-mail: <cao-vlsi@masi.ibp.fr>.
(16 Feb 1993)
ALLOY
<language> A language by Thanasis Mitsolides
<mitsolid@cs.nyu.edu> which combines {functional programming},
{object-oriented programming} and {logic programming} ideas,
and is suitable for {massively parallel} systems.
Evaluating modes support serial or parallel execution, {eager
evaluation} or {lazy evaluation}, {nondeterminism} or multiple
solutions etc. ALLOY is simple as it only requires 29
primitives in all (half of which are for {object oriented
programming} support).
It runs on {SPARC},
{(ftp://cs.nyu.edu/pub/local/alloy/)}
["The Design and Implementation of ALLOY, a Parallel Higher
Level Programming Language", Thanasis Mitsolides
<mitsolid@cs2.nyu.edu>, PhD Thesis NYU 1990].
(11 Jun 1991)
ALM
{Assembly Language} for {Multics}.
The language on the {GE645}. Critical portions of the
{Multics} {kernel} were written in ALM.
(24 Nov 1994)
Aloha
<networking> (A Hawaiian greeting) A system of {contention
resolution} devised at The {University of Hawaii}. {Packet}s
are {broadcast} when ready, the sender listens to see if they
collide and if so re-transmits after a random time. {Slotted
Aloha} constrains packets to start at the beginning of a time
slot. Basic Aloha is appropriate to long propagation time
nets (e.g. satellite). For shorter propagation times,
{carrier sense} {protocol}s are possible.
(10 Dec 1995)
Aloha Net
<networking> (From the Hawaiian greeting) One of the first
functioning networks in the USA, conceived and implimented at
the {University of Hawaii} campus at Manoa. Its purpose was
to link the University {mainframe} computer to client
computers located on outer islands at University campuses.
Put in place in the early 1970s, it was dubed the Aloha Net.
{Key punch} cards were fed through a reader, and sent over the
commercial phone lines.
(10 Dec 1995)
Alonzo Church
<person> A twentieth century mathematician and logician, and
one of the founders of computer science. Church invented the
{lambda-calculus} and posited a version of the {Church-Turing
thesis}.
(25 Mar 1995)
ALP
A list-processing extension of {Mercury Autocode}.
["ALP, An Autocode List-Processing Language", D.C. Cooper et
al, Computer J 5:28-31 (1962)].
(24 Jan 1995)
ALPAK
<library> A subroutine package used by {ALTRAN}.
["The ALPAK System for Nonnumerical Algebra on a Digital
Computer", W.S. Brown, Bell Sys Tech J 42:2081 (1963)].
[Sammet 1969, p. 502].
(10 May 1995)
ALPHA
<language> (Or "Input") An extension of {ALGOL 60} for the
{M-20} computer developed by A.P. Ershov at Novosibirsk in
1961. ALPHA includes {matrix} operations, {slice}s, and
complex arithmetic.
["The Alpha Automatic Programming System", A.P. Ershov ed.,
A-P 1971].
(10 May 1995)
Alpha
1. <tool> A {compiler generator} written by Andreas Koschinsky
<koschins@cs.tu-berlin.de> and described in his thesis at the
{Technische Universitaet Berlin}. Alpha takes an {attribute
grammar} and uses {Bison} and {Flex} to generate a {parser}, a
{scanner} and an {ASE evaluator} (Jazayeri and Walter).
The documentation is in german.
(16 Feb 1993)
2. <processor> {DEC Alpha}.
(10 May 1995)
Alpha AXP 21164
<processor> A 1 {GIPS} version of the {DEC Alpha} processor.
The first commercially available sequential 1 GIPS processor.
Announced 7 Sep 1994.
{(http://www.digital.com/info/semiconductor/dsc-21164.html)}
(10 May 1995)
alpha/beta pruning
<games> An optimisation of the {minimax} algorithm for
choosing the next move in a two-player game. The position
after each move by me or you is assigned a value. The larger
this value, the better the position is for me. Thus, I will
choose moves with maximum value and you will choose moves with
minimum value (for me).
If it is my move and I have already found one move M with
value alpha then I am only interested in other moves with
value greater than alpha. I now consider another of my
possible moves, M', to which you could reply with a move with
value beta. I know that you would only make a different reply
if it had a value less than beta. If beta is already less
than alpha then M' is definitely worth less than M so I can
reject it without considering any other replies you might
make.
The same reasoning applies when considering my replies to your
reply. An alpha cutoff is when your reply gives a lower value
than the current maximum (alpha) and a beta cutoff is when my
reply to your reply gives a higher value than the current
minimum value of your reply (beta).
In short, if you've found one possible move, you need not
consider another move which your opponent can force to be
worse than the first one.
alpha conversion
<theory> In {lambda-calculus} and {reduction}, the renaming of
a {formal parameter} in a {lambda abstraction}. This does not
change the meaning of the abstraction. For example:
\ x . x+1 <--> \ y . y+1
If the {actual argument} to a lambda abstraction contains
instances of the abstraction's formal parameter then it is
necessary to rename the parameter before applying the
abstraction to avoid {name capture}.
(10 May 1995)
alpha particle
See {bit rot}.
Alphard
<language> (Named after the brightest star in Hydra) A
{Pascal}-like language developed by Wulf, Shaw and London of
{CMU} in 1974. Alphard supports {data abstraction} using the
'form', which combines a specification and an implementation.
["Abstraction and Verification in Alphard: Defining and
Specifying Iteration and Generators", Mary Shaw, CACM
20(8):553-563 (Aug 1977)].
(10 May 1995)
alpha testing
<programming> Testing of software at the developer's site by
the customer. The next stage is {beta testing}.
(10 May 1996)
ALPS
<language> 1. An early interpreted {algebraic language} for
the {Bendix G15} by Richard V. Andree of the {University of
Oklahoma}. ALPS is said to have preceded and influenced
development of {BASIC}.
Dale Peters <dpeters@theshop.net> reports that in the summer
of 1966 he attended the second year of an {NSF}-sponsored
summer institute in mathematics and computing at the
University of Oklahoma. Richard Andree taught the computing
class which mostly used the language GO-GO which was later
renamed ALPS. Andree, Harold Wiebe, Ralph Howenstein, and
another grad student were changing the language frequently
during the class, which was occasionally a little
disorienting. Dale believes it was used in the previous
summer as well and that it was about this time that Kemeny
(one of the designers of BASIC) saw it during a visit.
2. A parallel {logic language}.
["Synchronization and Scheduling in ALPS Objects",
P. Vishnubhotia, Proc 8th Intl Conf Distrib Com Sys, IEEE
1988, pp. 256-264].
(24 Nov 1994)
alt
<character> /awlt/ 1. The alt shift key on many keyboards,
including the {IBM PC}. On some keyboards and {operating
system}s, (but not the IBM PC) the alt key sets bit 7 of the
character generated.
See {bucky bits}.
2. The "{clover}" or "Command" key on a {Macintosh}; use of
this term usually reveals that the speaker hacked PCs before
coming to the Mac (see also {feature key}). Some Mac hackers,
confusingly, reserve "alt" for the Option key (and it is so
labelled on some Mac II keyboards).
3. (Obsolete {PDP-10}; often "ALT") An alternate name for the
{ASCII} ESC character (Escape, ASCII 27), after the keycap
labelling on some older terminals; also "altmode"
(/awlt'mohd/). This character was almost never pronounced
"escape" on an {ITS} system, in {TECO} or under {TOPS-10},
always alt, as in "Type alt alt to end a TECO command" or
"alt-U onto the system" (for "log onto the [ITS] system").
This usage probably arose because alt is easier to say.
(23 May 1995)
ALTAC
<language> An extended {FORTRAN II} for the {Philco 2000},
built on {TAC}.
[Sammet 1969, p.146].
(16 Mar 1995)
Altair 9000
<computer> A {microcomputer}, sometimes referred as the first
the world's first microcomputer. It was developed in the USA
in the 1970s by {Forrest Mimms} and his colleagues.
[Forrest M. Mimms, article in "Computers and Electronics",
(formerly "Popular Electronics") mid 1980s].
[Where? Features?]
(14 Mar 1995)
Alta Vista
<World-Wide Web> A {World-Wide Web} site provided by {Digital}
which features a very fast Web and {Usenet} {search engine}.
As of April 1996 its word index is 33GB in size. AltaVista is
currently (June 1996) the largest Web index, with 30 million
pages from 225000 servers, and three million articles from
14000 {Usenet} news groups. It is accessed over 12 million
times per weekday.
{Home (http://www.altavista.digital.com/)}.
(10 Jun 1996)
alt bit
/awlt bit/ alternate bit. See {meta bit}.
altmode
{alt}
ALTRAN
<language> A {FORTRAN} extension for {rational algebra}
developed by W.S. Brown of {Bell Labs} ca. 1968.
["The ALTRAN System for Rational Function Manipulation - A
Survey", A.D. Hall, CACM 14(8):517-521 (Aug 1971)].
(01 Jun 1995)
alt.sources
<programming> A {Usenet} newsgroup for posting program {source
code}.
{Archive (ftp://wuarchive.wustl.edu/usenet/alt.sources/)}
(18 Oct 1995)
ALU
1. <processor> {Arithmetic and Logic Unit}.
2. <body> {Association of Lisp Users}.
Aluminum Book
<publication> "Common LISP: The Language", by {Guy L. Steele
Jr.} (Digital Press, first edition 1984, second edition 1990).
Note that due to a technical screwup some printings of the
second edition are actually of a colour the author describes
succinctly as "yucky green".
See also {book titles}.
(28 Feb 1995)
Alvey
<project, body> A funding programme for collaborative research
in the UK.
(01 Jun 1995)
AM
{Amplitude Modulation}
A Manufacturing Language
<language> (AML) A {high-level language} developed by {IBM} in
the 1980s for industrial {robot}s.
["AML: A Manufacturing Language", R.H. Taylor et al, Inst J
Robot Res 1(3):19-43].
(25 Sep 1995)
Amber
<language> 1. A {functional programming} language which adds
{CSP}-like {concurrency}, {multiple inheritance} and
{persistence} to {ML} and generalises its type system. It is
similar to {Galileo}. Programs must be written in two type
faces, roman and italics! It has both {static type}s and
{dynamic type}s.
There is an implementation for {Macintosh}.
["Amber", L. Cardelli, TR Bell Labs 1984].
2. An {object-oriented} distributed language based on a
subset of {C++}, developed at {Washington University} in the
late 1980s.
(08 Dec 1994)
AMBIT
<language> Algebraic Manipulation by Identity Translation
(also claimed: "Acronym May Be Ignored Totally").
An early {pattern-matching} language, developed by
C. Christensen of Massachusetts Computer Assocs in 1964, aimed
at algebraic manipulation.
[Sammet 1969, pp. 454-457].
(08 Dec 1994)
AMBIT/G
<language> {AMBIT} for graphs.
["An Example of the Manipulation of Directed Graphs in the
AMBIT/G Programming Language", C. Christensen, in Interactive
Systems for Experimental Applied Mathematics, M. Klerer et al,
eds, Academic Press 1968, pp. 423-435].
(08 Dec 1994)
AMBIT/L
<language> {AMBIT} for lists.
A variant of AMBIT supporting list handling and {pattern
matching} rules based on two-dimensional diagrams.
["An Introduction to AMBIT/L, A Diagrammatic Language for List
Processing", Carlos Christensen, Proc 2nd ACM Symp Symb and
Alg Manip (Mar 1971)].
(08 Dec 1994)
AMBIT/S
<language> {AMBIT} for strings.
AMBUSH
<language> A language for {linear programming} problems in a
materials processing/transportation network.
["AMBUSH - An Advanced Model Builder for Linear Programming",
T.R. White et al, National Petroleum Refiners Assoc Comp Conf
(Nov 1971)].
(19 Jun 1995)
AMD
1. <company> {Advanced Micro Devices}.
2. <jargon> According to Don Olivier
<don@hsph.harvard.edu>, his system manager came in to work one
morningn to find his IBM system down with a message on the
console that said "AMD failure". After he and the service rep
had puzzled over documentation for an hour or so they called
headquarters and eventually learned that it the failure was in
the cooling system: an AMD is an "air movement device", IBM
for "fan".
(16 Jan 1995)
AMD 29000
<processor> A {RISC} {microprocessor} descended from the
{Berkley RISC} design. Like the {SPARC} design that was
introduced shortly afterwards, the 29000 has a large {register
set} split into local and global sets. But though it was
introduced before the SPARC, it has a more elegant method of
register management.
The 29000 has 64 global registers, in comparison to the
SPARC's eight. In addition, the 29000 allows variable sized
windows allocated from the 128 register stack {cache}. The
current window or stack frame is indicated by a stack pointer,
a pointer to the caller's frame is stored in the current
frame, like in an ordinary stack (directly supporting stack
languages like {C}, a {CISC}-like philosophy). Spills and
fills occur only at the ends of the cache, and registers are
saved/loaded from the memory stack. This allows variable
window sizes, from 1 to 128 registers. This flexibility, plus
the large set of global registers, makes {register allocation}
easier than in SPARC.
There is no special {condition code register} - any general
register is used instead, allowing several condition codes to
be retained, though this sometimes makes code more complex.
An {instruction prefetch} buffer (using {burst mode}) ensures
a steady instruction stream. Branches to another stream can
cause a delay, so the first four new instructions are cached -
next time a cached branch (up to sixteen) is taken, the cache
supplies instructions during the initial memory access delay.
Registers aren't saved during interrupts, allowing the
interrupt routine to determine whether the overhead is
worthwhile. In addition, a form of register access control is
provided. All registers can be protected, in blocks of 4,
from access. These features make the 29000 useful for
embedded applications, which is where most of these processors
are used, allowing it the claim to be "the most popular RISC
processor". The 29000 also includes an {MMU} and support for
the {AMD 29027} {FPU}.
(19 Jun 1995)
AMD 29027
<processor> The {FPU} for the {AMD 29000}.
(16 Jan 1995)
Amdahl
1. <company> {Amdahl Corporation}.
2. <person> {Gene Amdahl}.
Amdahl Corporation
<company> A US computer manufacturer. Amdahl is a major
supplier of large {mainframe}s, {UNIX} and {Open Systems}
software and servers, data storage subsystems, data
communications products, applications development software,
and a variety of educational and consulting services.
Amdahl products are sold in more than 30 countries for use in
both open systems and {IBM} plug-compatible mainframe
computing environments.
Quarterly sales $397M, profits $13M (Aug 1994).
{Home (http://www.amdahl.com/)}
(23 May 1995)
Amdahl's Law
<parallel> (Named after {Gene Amdahl}) If F is the fraction of
a calucation that is sequential, and (1-F) is the fraction
that can be parallelised, then the maximum {speedup} that can
be achieved by using P processors is 1/(F+(1-F)/P).
(23 May 1995)
AMD Am2901
<processor> A 4 bit {bit-slice} processor from {Advanced Micro
Devices}. It featured sixteen 4 bit {register}s and a 4 bit
{ALU} and operation signals to allow carry/borrow or shift
operations and such to operate across any number of other
2901s. An {address sequencer} (such as the {2910}) could
provide control signals with the use of custom {microcode} in
{ROM}.
(16 Nov 1994)
AMD Am2903
<processor> A {bit-slice} prcessor from {Advanced Micro
Devices} which featured hardware multiply.
(16 Nov 1994)
AMD Am2910
<processor> An {address sequencer} from {Advanced Micro
Devices}.
(16 Nov 1994)
American National Standards Institute
<body, standard> (ANSI) The United States government body
responsible for approving US {standards} in many areas,
including computers and communications. ANSI is a member of
{ISO}. ANSI sells ANSI and ISO (international) standards.
{Home (http://www.ansi.org/)}.
Address: New York, NY 10036, USA. Sales: 1430 Broadway, NY NY
10018. Telephone: +1 (212) 642 4900.
(03 Nov 1996)
American Society of Mechanical Engineers
<body> (ASME) A group involved in {CAD} standardisation.
(21 Apr 1995)
American Standard Code for Information Interchange
<character, standard> (ASCII) The predominant {character set}
encoding of present-day computers. The modern version uses 7
bits for each character, whereas most earlier codes (including
an early version of ASCII) used fewer. This change allowed
the inclusion of lowercase letters - a major {win} - but it
did not provide for accented letters or any other letterforms
not used in English (such as the German sharp-S or the
ae-ligature which is a letter in, for example, Norwegian). It
could be worse, though. It could be much worse. See {EBCDIC}
to understand how.
Computers are much pickier and less flexible about spelling
than humans; thus, hackers need to be very precise when
talking about characters, and have developed a considerable
amount of verbal shorthand for them. Every character has one
or more names - some formal, some concise, some silly.
Individual characters are listed in this dictionary with
alternative names from revision 2.3 of the {Usenet} ASCII
pronunciation guide in rough order of popularity, including
their official {ITU-T} names and the particularly silly names
introduced by {INTERCAL}.
See {V} {ampersand}, {asterisk}, {back quote}, {backslash},
{caret}, {colon}, {comma}, {commercial at}, {control-C},
{dollar}, {dot}, {double quote}, {equals}, {exclamation mark},
{greater than}, {hash}, {left bracket}, {left parenthesis},
{less than}, {minus}, {parentheses}, {percent}, {plus},
{question mark}, {right brace}, {right brace}, {right
bracket}, {right parenthesis}, {semicolon}, {single quote},
{slash}, {space}, {tilde}, {underscore}, {vertical bar},
{zero}.
The pronunciation of "#" as "pound" is common in the US but a
bad idea; {Commonwealth Hackish} has its own, rather more
apposite use of "pound sign" (confusingly, on British
keyboards the pound graphic happens to replace "#"; thus
Britishers sometimes call "#" on a US-ASCII keyboard "pound",
compounding the American error). The US usage derives from an
old-fashioned commercial practice of using a "#" suffix to tag
pound weights on bills of lading. The character is usually
pronounced "hash" outside the US
The "swung dash" or "approximation" sign is not quite the same
as {tilde} in typeset material but the ASCII tilde serves for
both (compare {angle bracket}s).
Some other common usages cause odd overlaps. The "#", "$",
">", and "&" characters, for example, are all pronounced "hex"
in different communities because various assemblers use them
as a prefix tag for hexadecimal constants (in particular, "#"
in many assembler-programming cultures, "$" in the {6502}
world, ">" at {Texas Instruments}, and "&" on the {BBC Micro},
{Acorn Archimedes}, {Sinclair}, and some {Zilog Z80}
machines). See also {splat}.
The inability of ASCII text to correctly represent any of the
world's other major languages makes the designers' choice of 7
bits look more and more like a serious {misfeature} as the use
of international networks continues to increase (see {software
rot}). Hardware and software from the US still tends to
embody the assumption that ASCII is the universal character
set and that characters have 7 bits; this is a a major
irritant to people who want to use a character set suited to
their own languages. Perversely, though, efforts to solve
this problem by proliferating sets of {national characters}
produce an evolutionary pressure to use a *smaller* subset
common to all those in use. Software is described as
"{eight bit clean}" if it correctly handles characters sets
which use all eight bits.
{ASCII character table}
See also {Yu-Shiang Whole Fish}.
(06 Mar 1995)
America On-Line, Inc.
<company, communications> (AOL) A US on-line service provider
based in Vienna, Virginia, USA. AOL claims to be the largest
and fastest growing provider of on-line services in the world,
with the most active subscriber base. AOL offers its three
million subscribers {electronic mail}, interactive newspapers
and magazines, conferencing, software libraries, computing
support, and on-line classes.
In October 1994 AOL made {Internet} {FTP} available to its
members and in May 1995, full Internet access including
{World-Wide Web}.
AOL's main competitors are {Prodigy} and {Compuserve}.
{Home (http://www.aol.com/)}
{(ftp://ftp.aol.com/)}
(26 Aug 1995)
Amiga
<computer, games> A range of home computers developed by
{Commodore Business Machines}. Amigas are popular for
{games}, {video processing} and {multimedia}. One notable
feature is a hardware {blitter} for speeding up graphics
operations on whole areas of the screen.
The {integrated circuit} containing the blitter, {DMA} channel
allocation, {RAM} {refresh} was known as "The Copper".
Another graphics {co-processor}, responsible for effects timed
to the real-time position of the video scan, such as midscreen
{palette} changes, {sprite multiplying}, and {resoloution}
changes, was known as the "Agnus". Different versions (in
order) were: "Agnus" (could only address 512K of {video RAM}),
"Fat Agnus" (in a {PLCC} package, could access 1MB of video
RAM), "Super Agnus" (slightly upgraded Fat Agnus), and "Obese
Agnus" (or "SuperFat Agnus"). Agnus and Fat Agnus came in
{PAL} and {NTSC} versions, the other two came in one version,
jumper selectable for PAL or NTSC.
Other chips were "Gary" ({I/O}, addressing, {glue logic}),
"Paula" ({floppy disk}, {serial ports}, 4 channel 8 bit {DMA}
sampled audio), "Denise" (outputs binary video data (3*4 bits)
to the Vidiot), the "Vidiot" (A hybrid that combines and
amplifies the 12 bit video data from Denise into {RGB} to the
{monitor}), "Amber" (A "flicker fixer", used in the A3000 and
Commodore display enhancer for the A2000), "Buster" (The bus
controller for the ZorroII/III bus), "Ramsey" (The {RAM}
controller), "DMAC" (The DMA controller chip for the WD33C93
{SCSI controller} used in the A3000 and on the A2091/A2092
SCSI controller card for the A2000; and to control the
{CD-ROM} in the {CDTV}).
There were several Amiga chipsets: the "Old Chipset" (OCS),
the "Enhanced Chipset" (ECS), and AGA. OCS included Paula,
Gary, Denise, and Agnus.
ECS had the same Paula, Gary, Agnus (could address 2MB of
VRAM), Super Denise (upgraded to support Agnus so that a few
new {screen modes} were available). With the introduction of
the {Amiga A600} Gary was replaced with "Gayle" (though the
chipset was still called ECS). Gayle provided a number of
improvments but the main one was support for the A600's
{PCMCIA} port.
The AGA chipset had Agnus with twice the speed and a 24 bit
pallette, maximum displayable: 8 bits (256 colours), although
the famous "{HAM}" (Hold And Modify) trick allows pictures of
256,000 colours to be displayed. AGA's Paula and Gayle were
unchanged but AGA Denise supported AGA Agnus's new screen
modes. Unfortunately, even AGA Paula did not support High
Density floppy disk drives. In order to use a high density
disk drive Amiga HD floppy drives spin at half the rotational
speed thus halving the data rate to Paula. Also the 8 bit
When Commodore Bussines Machines went bankrupt on 29 April
1994 the Amiga's future looked rather uncertain until the
German company {Escom AG} bought it on 21 April 1995 and the
Commodore Amiga became the Escom Amiga. Escom are (April
1996) apprently making the {Amiga} range again but the {Amiga}
has yet to return to the shelves in Australia.
{Home (http://www.amiga.de)}.
{Amiga Web Directory (http://www.cucug.org/amiga.html)}.
{amiCrawler (http://www.amicrawler.com/)}.
Newsgroups: {news:comp.binaries.amiga},
{news:comp.sources.amiga}, {news:comp.sys.amiga},
{news:comp.sys.amiga.advocacy},
{news:comp.sys.amiga.announce},
{news:comp.sys.amiga.applications},
{news:comp.sys.amiga.audio}, {news:comp.sys.amiga.datacomm},
{news:comp.sys.amiga.emulations}, {news:comp.sys.amiga.games},
{news:comp.sys.amiga.graphics},
{news:comp.sys.amiga.hardware},
{news:comp.sys.amiga.introduction},
{news:comp.sys.amiga.marketplace}, {news:comp.sys.amiga.misc},
{news:comp.sys.amiga.multimedia},
{news:comp.sys.amiga.programmer},
{news:comp.sys.amiga.reviews}, {news:comp.sys.amiga.tech},
{news:comp.sys.amiga.telecomm}, {news:comp.Unix.amiga}.
{Germany (ftp://ftp.uni-kl.de/)}, {Germany
(ftp://ftp.uni-erlangen.de/)}, {Germany
(ftp://ftp.cs.tu-berlin.de/)}, {Germany
(ftp://ftp.th-darmstadt.de/)}, {Germany
(ftp://ftp.uni-paderborn.de/)}, {Germany
(ftp://ftp.uni-oldenburg.de/)}, {Sweden (ftp://ftp.luth.se/)},
{Switzerland (ftp://ftp.eunet.ch/)}, {Switzerland
(ftp://litamiga.epfl.ch/)}, {Australia
(ftp://splat.aarnet.edu.au/)}, {UK (ftp://src.doc.ic.ac.uk/)},
{Montana, USA (ftp://ftp.wustl.edu/)}, {Texas, USA
(ftp://ftp.etsu.edu/)}, {California, USA
(ftp://ftp.cdrom.com/)}, {Iowa, USA
(ftp://ftp.isca.uiowa.edu/)}, {Hawaii, USA
(ftp://ftp.hawaii.edu/)}.
Look for directory aminet, amiga or fish under pub.
See {Amoeba}, {bomb}, {gronk}, {guru meditation},
{sidecar}, {slap on the side}, {Vulcan nerve pinch}.
(22 Jul 1996)
Amiga E
<tool> An {Amiga} {E} {compiler} by Wouter van Oortmerssen
<Wouter@mars.let.uva.nl>.
Amiga E is very fast - 20000 lines/minute on a 7 Mhz Amiga.
It allows inline {assembly code} and has an integrated
{linker}. It has a large set of integrated functions, a
{module} concept with 2.04 includes as modules a flexible type
system, quoted expressions, immediate and typed lists, low
level {polymorphism} and {exception} handling. It is written
in assembly code and E.
Version 2.1b
{(ftp://ftp.wustl.edu/pub/aminet/dev/e/AmigaE21b.lha)}.
{(ftp://amiga.physik.unizh.ch/amiga/dev/lang/AmigaE21b.lha)}.
Mailing list: <amigae@bookhouse.cts.com>.
{Usenet} newsgroup: {news:comp.sys.amiga.programmer}
(sometimes).
(01 Mar 1993)
AML
<language> {A Manufacturing Language}.
(27 Sep 1995)
AML/E
<language> AML Entry. A simple version of {AML},
implemented on the {IBM PC}, with a graphic display of the
robot position.
(03 Oct 1995)
Amoeba
1. <operating system> A distributed {operating system}
developed by {Andrew Tanenbaum} and others at {Amsterdam}.
2. <computer, abuse> A derogatory term for {Commodore}'s
{Amiga} {personal computer}.
(31 Oct 1995)
AMP
{Algebraic Manipulation Package}
amper
<character> {ampersand}.
ampersand
<character> "&" {ASCII} character 38.
Common names: {ITU-T}: ampersand; amper; and. Rare: address
(from {C}); reference (from C++); andpersand; bitand;
background (from {sh}); pretzel; amp. {INTERCAL} called this
"ampersand"; what could be sillier?
(06 Mar 1995)
AMPL
<language> Along with {mpl}, the intrinsic parallel languages
for {MasPar}'s computers. They are parallel variants of {C}.
Ampl is actually now a {gcc} port.
["AMPL: Design, Implementation and Evaluation of a
Multiprocessing Language", R. Dannenberg, CMU 1981].
["Loglan Implementation of the AMPL Message Passing System",
J. Milewski SIGPLAN Notices 19(9):21-29 (Sept 1984)].
[Are these the same language?]
(01 Nov 1995)
AMPLE
<language> A {FORTH}-like language for programming the
500/5000 series of add-on music synthesisers for the {BBC
Microcomputer}. AMPLE was produced by Hybrid Technologies,
Cambridge, England in the mid 1980s. Many AMPLE programs were
published in Acorn User magazine.
(01 Nov 1995)
Amplitude Modulation
<communications> (AM) A method of encoding data by varying the
{amplitude} of a constant frequency {carrier}.
(18 Jun 1996)
amp off
<jargon> (Purdue) To run in {background}. From the {Unix}
{shell} "&" (ampersand) operator.
(14 Nov 1995)
AMPPL-II
<language> Associative Memory Parallel Processing Language.
A language from the early 1970s.
(14 Nov 1995)
AMS
{Andrew Message System}
AMTRAN
{Automatic Mathematical TRANslation}
Amulet
<processor> An implementation or the {Advanced RISC Machine}
processor architecture using the {micropipeline} design style.
In April 1994 the Amulet group in the Computer Science
department of {Manchester University} took delivery of the
AMULET1 {microprocessor}. This was their first large scale
asynchronous circuit and the world's first implementation of a
commercial microprocessor architecture (ARM) in {asynchronous
logic}.
Work was begun at the end of 1990 and the design despatched
for fabrication in February 1993. The primary intent was to
demonstrate that an asynchronous microprocessor can consume
less power than a synchronous design.
The design incorporates a number of concurrent units which
cooperate to give instruction level compatibility with the
existing synchronous part. These include an Address unit,
which autonomously generates instruction fetch requests and
interleaves ({nondeterministic}ally) data requests from the
Execution unit; a {Register} file which sources operands,
queues write destinations and handles data dependencies; an
Execution unit which includes a multiplier, a shifter and an
ALU with data-dependent delay; a Data interface which performs
byte extraction and alignment and includes an {instruction
prefetch} buffer, and a control path which performs
instruction decode. These units only synchronise to exchange
data.
The design demonstrates that all the usual problems of
processor design can be solved in this asynchronous framework:
backwards instruction set compatibility, interrupts and exact
exceptions for memory faults are all covered. It also
demonstrates some unusual behaviour, for instance
{nondeterministic} prefetch depth beyond a branch instruction
(though the instructions which actually get executed are, of
course, deterministic). There are some unusual problems for
compiler optimization, as the metric which must be used to
compare alternative code sequences is continuous rather than
discrete, and the {nondeterminism} in external behaviour must
also be taken into account.
The chip was designed using a mixture of custom {datapath} and
compiled control logic elements, as was the synchronous ARM.
The fabrication technology is the same as that used for one
version of the synchronous part, reducing the number of
variables when comparing the two parts.
Two silicon implementations have been received and preliminary
measurements have been taken from these. The first is a 0.7um
process and has achieved about 28 kDhrystones running the
standard {benchmark} programme. The other is a 1 um
implementation and achieves about 20 kDhrystones. For the
faster of the parts this is equivalent to a synchronous {ARM6}
clocked at around 20MHz; in the case of AMULET1 it is likely
that this speed is limited by the memory system cycle time
(just over 50ns) rather than the processor chip itself.
A fair comparison of devices at the same geometries gives the
AMULET1 performance as about 70% of that of an {ARM6} running
at 20MHz. Its power consumption is very similar to that of
the ARM6; the AMULET1 therefore delivers about 80 MIPS/W
(compared with around 120 from a 20MHz ARM6). Multiplication
is several times faster on the AMULET1 owing to the inclusion
of a specialised asynchronous multiplier. This performance is
reasonable considering that the AMULET1 is a first generation
part, whereas the synchronous ARM has undergone several design
iterations. AMULET2 (currently under development) is expected
to be three times faster than AMULET1 - 120k {dhrystone}s and
use less power.
The {macrocell} size (without {pad ring}) is 5.5 mm by 4.5 mm
on a 1 micron {CMOS} process, which is about twice the area of
the synchronous part. Some of the increase can be attributed
to the more sophisticated organization of the new part: it has
a deeper {pipeline} than the clocked version and it supports
multiple outstanding memory requests; there is also
specialised circuitry to increase the multiplication speed.
Although there is undoubtedly some overhead attributable to
the asynchronous control logic, we estimate this to be closer
to 20% than to the 100% suggested by the direct comparison.
AMULET1 is code compatible with {ARM6} and is so is capable of
running existing binaries without modification. The
implementation also includes features such as interrupts and
memory aborts.
The work was part of a broad {ESPRIT} funded investigation
into low-power technologies within the European {Open
Microprocessor systems Initiative} (OMI) programme, where
there is interest in low-power techniques both for portable
equipment and (in the longer term) to alleviate the problems
of the increasingly high dissipation of high-performance
chips. This initial investigation into the role {asynchronous
logic} might play has now demonstrated that asynchronous
techniques can be applied to problems of the scale of a
complete {microprocessor}.
{Home (http://www.cs.man.ac.uk/amulet)}
(08 Dec 1994)
analog
<spelling> American spelling of {analogue}.
(14 Nov 1995)
Analog Hardware Design Language
<language> (AHDL) A language under development by the US Air
Force.
[Electronic Times or Electronic Engineering Design?].
(09 Apr 1995)
analogue
<electronics> Used to describe a continuously variable signal,
as opposed to a discrete or "digital" one, or a circuit
designed to handle such signals. Analogue circuits are much
harder to design and analyse than digital ones because the
designer must take into account effects such as the gain,
linearity and power handling of components, the resistance,
capacitance and inductance of PCB tracks, wires and
connectors, interference between signals, power supply
stability and more. A digital circuit design, especially for
high switching speeds, must also take these factors into
account if it is to work reliably, but they are usually less
critical because most digital components will function
correctly within a range of parameters whereas such variations
will corrupt the outputs of an analogue circuit.
See also {analogue computer}.
(14 Nov 1995)
analogue computer
<computer, hardware> A machine or electronic circuit designed
to work on numerical data represented by some physical
quantity (e.g. rotation or displacement) or electrical
quantity (e.g. voltage or charge) which varies continuously,
in contrast to {digital} signals which are either 0 or 1.
For example, the turning of a wheel or changes in voltage can
be used as input. Analogue computers are said to operate in
{real time} and are used for research in design where many
different shapes and speeds can be tried out quickly. A
computer model of a car suspension allows the designer to see
the effects of changing size, stiffness and damping.
(01 May 1995)
Analogy Model
<programming> A method of estimating the cost of a proposed
software project by extrapolating from the costs and schedules
of similar completed projects.
(28 May 1996)
anchor
<hypertext> (Or "span", "region", "button", "extent") An area
within the content of a {hypertext} {node} which is the source
or destination of a {link}. A source anchor may be a word,
phrase, image, or possibly the whole node. A destination
anchor may be a whole node or some position within the node.
Typically, clicking with the {mouse} on a source anchor causes
the link to be followed and the anchor at the opposite end of
the link to be displayed. Anchors are highlighted in some way
(either always, or when the mouse is over them), or they may
be marked by a special symbol.
In {HTML} anchors are created with the <A..>..</A> construct.
The opening A tag of a source anchor has an HREF (hypertext
reference) attribute giving the destination in the form of a
{URL} - usually a whole node or "page". E.g.
<A HREF="http://wombat.doc.ic.ac.uk/">
Free On-line Dictionary of Computing</A>
Destination anchors are only used in HTML to name a position
within a page using a NAME attribute. E.g.
<A NAME="chapter3">
The name or "fragment identifier" is appended to the URL of
the page with a "#":
http://www.fairystory.com/goldilocks.html#chapter3
(Though it is generally better to break pages into smaller
units than to have large pages with named sections).
(07 Feb 1997)
ANCP
<language> An early system on the {Datatron} 200 series.
[Listed in CACM 2(5):16 (May 1959)].
(15 Nov 1995)
AND
<logic> The {Boolean} function which is true only if both its
arguments are true. Its {truth table} is:
A | B | A AND B
--+---+---------
F | F | F
F | T | F
T | F | F
T | T | T
(04 Nov 1996)
ANDF
{Architecture Neutral Distribution Format}
Andorra-I
<language> A language with the {OR-parallelism} of {Aurora}
plus the {AND-parallelism} of {Parlog}.
["Andorra-I: A Parallel Prolog System that Transparently
Exploits both And- and Or-Parallelism", V.S Costa et al,
SIGPLAN Notices 26(7):83-93 (July 1991)].
(24 Nov 1995)
Andorra Kernel Language
<language> (AKL) The successor to {KAP} by S. Janson
<sverker@sics.se>.
A prototype implementation is available from the author.
["Programming Paradigms of the Andorra Kernel Language",
S. Janson et al in Logic Programming: Proc 1991 Intl Symp, MIT
Press 1991].
(24 Nov 1994)
Andorra-Prolog
<language>
["Andorra-Prolog: An Integration of Prolog and Committed
Choice Languages", S. Haridi et al, Intl Conf Fifth Gen Comp
Sys 1988, ICOT 1988].
(24 Nov 1995)
Andrei Markov
<person> 1856-1922. The Russian mathematician, after who
{Markov chain}s were named.
{Biography
(http://www-groups.dcs.st-and.ac.uk/~history/Mathematicians/Markov.html)}.
(06 Oct 1995)
Andrew File System
<operating system, storage> (AFS) The distributed file system
of the {Andrew Project}, adopted by the {OSF} as part of their
{Distributed Computing Environment}.
{Frequently Asked Questions
(http://www.transarc.com/Product/AFS/FAQ/faq.html)}.
(24 Nov 1994)
Andrew Message System
<messaging> A {multimedia} interface to {electronic mail} and
{bulletin board}s, developed as part of the {Andrew Project}.
(24 Nov 1994)
Andrew Project
<project> A distributed system project for support of
educational and research computing at {Carnegie Mellon
University}.
Paul Blackburn <mpb@acm.org> believes the project was named
after Andrew Carnegie, an American philanthropist who provided
money to establish CMU. [Is this correct?]
See also: {Andrew File System}, {Andrew Message System},
{Andrew Toolkit}, {class}.
{Home FTP (ftp://emsworth.andrew.cmu.edu)}
{Usenet} newsgroup: {news:comp.soft-sys.andrew}.
[More detail?]
(18 Feb 1997)
Andrew S. Tanenbaum
{Andrew Tanenbaum}
Andrew Tanenbaum
<person> Professor Andrew S. Tanenbaum (1941-) of the {Vrije
Universiteit, Amsterdam} in Holland. Tanenbaum is famous for
his work and books on computer architecture, {operating
systems}, and {networks}.
He wrote the textbook "Computer Networks", Second Edition,
Prentice-Hall, 1981, which describes the {International
Standards Organisation}, {Open Systems Interconnection}
(ISO-OSI) network model.
E-mail: Andrew Tanenbaum <ast@cs.vu.nl>.
See {Amoeba}, {Mac-1}, {Mic-1}, {Mic-2}, {Micro Assembly
Language}, {Minix}, {MicroProgramming Language}, {standard}.
(23 Apr 1996)
Andrew Toolkit
<tool> A {portable} {user interface} toolkit developed as part
of the {Andrew project}, running on the {X Window System} and
distributed with {X11R5}.
(24 Nov 1995)
An Evolutionary System for On-line Programming
(AESOP) An early interactive {query system} on the {IBM 1800}
using a {light pen}.
["AESOP: A Final Report: A Prototype Interactive Information
Control System", J.K. Summers et al, in Information System
Science and Technology, D. Walker ed, 1967].
[Sammet 1969, p. 703].
(04 Apr 1995)
Angel
<operating system> A single {address space}, {micro-kernel}
{operating system} for {multiprocessor} computers, developed
at {Imperial College} and {City University}, London, UK.
[Ariel Burton]
(24 Nov 1995)
angle bracket
<character> Either of the characters "<" (less-than, {ASCII}
60) and ">" (greater-than, ASCII 62). Typographers in the
{Real World} use angle brackets which are either taller and
slimmer (the {ISO} "{Bra}" and "{Ket}" characters), or
significantly smaller (single or double guillemets) than the
less-than and greater-than signs.
See {broket}.
(24 Nov 1995)
angry fruit salad
<abuse> A bad visual-interface design that uses too many
colours. (This term derives, of course, from the bizarre
day-glo colours found in canned fruit salad). Too often one
sees similar effects from interface designers using colour
window systems such as {X}; there is a tendency to create
displays that are flashy and attention-getting but
uncomfortable for long-term use.
(24 Nov 1995)
ANI
{Automatic Number Identification}
animation
<graphics> The creation of artificial moving images.
{Usenet} newsgroup: {news:comp.graphics.animation}. {FAQ
(ftp://src.doc.ic.ac.uk/usenet/news-info/comp.graphics.animation)}.
(24 Nov 1995)
Animus
["Constraint-Based Animation: The Implementation of Temporal
Constraints in the Animus System", R. Duisberg, PhD Thesis U
Washington 1986].
(24 Nov 1995)
ANL
{Argonne National Laboratory}
Anna
<language> {ANNotated Ada}.
(24 Nov 1995)
annealing
See {simulated annealing}.
annotate
To add an {annotation}.
ANNotated Ada
<language, specification> (Anna) A {specification} language
developed at {Stanford University} ca. 1980 for formally
specifying {Ada} programs. It has a Specification Analyzer
and a Consistency Checking System. It adds semantic
{assertions} in the form of Ada comments.
{(ftp://anna.stanford.edu/pub/anna/)}
["ANNA - A Language for Annotating Ada Programs", David
Luckham et al, Springer 1987].
(01 Nov 1994)
annotation
1. <programming, compiler> Extra information associated with a
particular point in a document or program. May be added
either by a {compiler} or by the programmer. Annotations are
not usually essential to the correct function of the program
but give hints to improve performance.
2. <hypertext> A new commentary {node} linked to an existing
node. If readers, as well as authors, can annotate nodes,
then they can immediately provide feedback if the information
is misleading, out of date or plain wrong.
(26 Nov 1995)
annoybot
<networking> /*-noy-bot/ An {IRC} {robot}.
(26 Nov 1995)
Annual Change Traffic
<software> (ACT) The fraction of the software product's
{source code} which changes during a year, either through
addition or modification. The ACT is used to determine the
product size in order to estimate software maintenance effort.
(29 May 1996)
anonymous FTP
<networking> An interactive service provided by many
{Internet} {host}s allowing any user to transfer documents,
files, programs, and other archived data using {File Transfer
Protocol}. The user logs in using the special user name "ftp"
or "anonymous" and his {e-mail address} as password. He then
has access to a special directory hierarchy containing the
publically accessible files, typically in a subdirectory
called "pub". This is usually a separate area from files used
by local users.
A reference like
ftp: euagate.eua.ericsson.se /pub/eua/erlang/info
means that files are available by anonymous FTP from the host
called euagate.eua.ericsson.se in the directory (or file)
/pub/eua/erlang/info. Sometimes the {hostname} will be
followed by an {Internet address} in parentheses. The
directory will usually be given as a path relative to the
anonymous FTP login directory. A reference to a file
available by FTP may also be in the form of a {URL} starting
"ftp:".
See also {Archie}, {archive site}, {EFS}, {FTP by mail},
{World-Wide Web}.
(26 Nov 1995)
ANSA
<networking> {Advanced Network Systems Architecture}.
(26 Nov 1995)
ANSI
{American National Standards Institute}
ANSI C
<language, standard> (American National Standards Institute C)
A revision of {C}, adding {function prototype}s, {structure
passing}, {structure assignment} and standardised library
functions. {ANSI} X3.159-1989.
{(ftp://princeton.edu/pub/lcc/)}
{cgram} is a {grammar} for ANSI C, written in {Scheme}.
{unproto} is a program for removing function prototypes to
translate ANSI C to standard C.
(26 Nov 1995)
ANSI Minimal BASIC
<language, standard> ANS X3.60-1978.
[Details?]
(29 Nov 1995)
ANSI/SPARC Architecture
<architecture> A layered model of {database} architecture
comprising a {physical schema}, a {conceptual schema}, and
user {views}.
[Reference?]
(26 Nov 1995)
ANSI Z39.50
<networking, standard> Information Retrieval Service
Definition and Protocol Specification for Library
Applications, officially known as ANSI/NISO Z39.50-1992, and
ANSI/NISO Z39.50-1995. This {standard}, used by {WAIS},
specifies an {OSI} {application layer} service to allow an
application on one computer to query a {database} on another.
Z39.50 is used in libraries and for searching some databases
on the {Internet}. The US {Library of Congress
(http://lcweb.loc.gov/z3950/agency/)} is the official
maintanence agency for Z39.50.
{Index Data}, a Danish company, have released a lot of Z39.50
code. Their {web site} explains the relevant {ISO}
{standards} and how they are amicably converging in Z39.50
version 4.0.
{Overview (http://www.nlc-bnc.ca/ifla/VI/5/op/udtop3.htm)}.
{Z39.50 resources
(http://lamp.cs.utas.edu.au/net.html#Z3950)}.
(22 Jul 1996)
anti-aliasing
<graphics> A technique used on a {gray-scale} or colour
{bitmap display} to make diagonal edges appear smoother by
setting {pixel}s to intermediate colours near the edge
according to where the edge crosses them.
The most common example is where black characters are to be
displayed on a white background. Without anti-aliasing, the
diagonal edges of, say an upper case "A" character appear as a
jagged edges or "staircases" which may be noticable on a low
{resolution} display. If the display is capable of showing
intermediate greys then anti-aliasing can be applied. This
colours a pixel black if it is completely within the black
area, or white if it is complete white, or an intermediate
shade of gray determined by the proportions of the pixel which
overlap the black and white areas.
(18 Apr 1995)
antichain
<mathematics> A subset S of a {partially ordered set} P is an
antichain if,
for all x, y in S, x <= y => x = y
I.e. no two different elements are related.
("<=" is written in {LaTeX} as {\subseteq}).
(03 Feb 1995)
antisymmetric
<mathematics> A {relation} R is antisymmetric if,
for all x and y, x R y and y R x => x == y.
I.e. no two different elements are mutually related.
{Partial order}s and {total order}s are antisymmetric. If R
is also {symmetric} (x R y => y R x) then x R y => x == y.
I.e. different elements are not related.
(18 Apr 1995)
anti-virus software
<tool> Programs to detect and remove computer {virus}es.
(14 Mar 1995)
ANTLR
ANother Tool for Language Recognition.
The {parser generator} in the {Purdue Compiler-Construction
Tool Set}.
(26 Oct 1995)
ANU
{Australian National University}
ANU ML
<language> An implementation of {SML} by the {Australian
National University} for {Motorola 68020}, {Vax} and
{Pyramid}.
(26 Nov 1995)
anytime algorithm
<algorithm> An {algorithm} that returns the best answer
possible even if it is not allowed to run to completion, and
may improve on the answer if it is allowed to run longer. For
example, a program displaying an image downloaded over a slow
link could display it top to bottom, but an anytime program
would show a low-resolution (fuzzy or grainy) picture
immediately, then gradually sharpen it as more details are
downloaded. Another example is an {iterative deepening}
search.
(26 Nov 1995)
AOCE
{Apple Open Collaboration Environment}
AOL
{America On-Line}
AOS
1. /aws/ (East Coast), /ay-os/ (West Coast) A
{PDP-10} instruction that took any memory location and added 1
to it. AOS meant "Add One and do not Skip". Why, you may
ask, does the "S" stand for "do not Skip" rather than for
"Skip"? Ah, here was a beloved piece of PDP-10 folklore.
There were eight such instructions: AOSE added 1 and then
skipped the next instruction if the result was Equal to zero;
AOSG added 1 and then skipped if the result was Greater than
0; AOSN added 1 and then skipped if the result was Not 0; AOSA
added 1 and then skipped Always; and so on. Just plain AOS
didn't say when to skip, so it never skipped.
For similar reasons, AOJ meant "Add One and do not Jump".
Even more bizarre, SKIP meant "do not SKIP"! If you wanted to
skip the next instruction, you had to say "SKIPA". Likewise,
JUMP meant "do not JUMP"; the unconditional form was JUMPA.
However, hackers never did this. By some quirk of the 10's
design, the {JRST} (Jump and ReSTore flag with no flag
specified) was actually faster and so was invariably used.
Such were the perverse mysteries of assembler programming.
2. /A-O-S/ or /A-os/ A {Multics}-derived {operating system}
supported at one time by {Data General}.
A spoof of the standard AOS system administrator's manual
("How to Load and Generate your AOS System") was created,
issued a part number, and circulated as photocopy folklore; it
was called "How to Goad and Levitate your CHAOS System".
3. Algebraic Operating System, in reference to those
calculators which use {infix} instead of {postfix} (reverse
Polish) notation.
(26 Nov 1995)
APA
{Application Portability Architecture}
Apache
<World-Wide Web, project> A {public domain} {HTTP} server for
{Unix}. Apache was developed in early 1995, based on code and
ideas found in the most popular HTTP server of the time, {NCSA
httpd} 1.3. It has since evolved to rival (and probably
surpass) almost any other {Unix} based HTTP server in terms of
functionality, and speed. In August 1996 Apache was the most
popular HTTP server on the {Internet}, running on 36% of all
web servers.
It features highly configurable error messages, {DBM}-based
{authentication} {databases}, and {content negotiation}. It
also offers improved performance, and fixes many bugs in the
NCSA 1.3 code.
Version: 1.1.1 (Aug 1996).
{Home (http://www.apache.org)}.
{FAQ (http://www.teaser.fr/apache/docs/FAQ.html)}.
(25 Aug 1996)
APAL
Array Processor Assembly Language.
The {assembly language} for the {DAP} parallel computer.
(28 Nov 1994)
APAREL
A PArse REquest Language. A {PL/I} extension to
provide {BNF} {parsing} routines, for {IBM 360}.
["APAREL: A Parse Request Language", R.W. Balzer et al, CACM
12(11) (Nov 1969)].
(26 Nov 1995)
APC
{Association for Progressive Communications}
APDL
{Algorithmic Processor Description Language}
apE
<graphics> A graphics package from the Ohio Supercomputer
Centre.
(29 Nov 1995)
API
{Application Program Interface}
APL
{A Programming Language}
APL2
<language> An {APL} extension with nested {array}s from {IBM}.
["APL2 Programming: Language Reference", IBM Aug 1984. Order
No. SH20-9227-0].
(29 Nov 1995)
APLGOL
<language> An {APL} variant with {ALGOL}-like control
structure, from {Hewlett-Packard}(?).
(29 Nov 1995)
APLWEB
<text, tool> A {Web} to {APL} and {Web} to {TeX} translator by
Dr. Christoph von Basum <CvB@erasmus.hrz.uni-bielefeld.de>.
{(ftp://watserv1.uwaterloo.ca/languages/apl/aplweb/)}
(27 Dec 1992)
APM
{Advanced Power Management}
Apollo Computer
<company> A company making {workstations}, now a division of
{Hewlett-Packard}.
(29 Nov 1995)
app
<abbreviation> {application program}.
(29 Nov 1995)
APPC
{Advanced Program-to-Program Communications}
AppKit
<tool> A set of objects used by the {application builder} for
the {NEXTSTEP} environment.
(13 Mar 1995)
APPLE
<language> A revision of {APL} for the {Illiac IV}.
(28 Apr 1995)
Apple Computer, Inc.
<company> Manufacturers of the {Macintosh} range of {personal
computer}s as well as the earlier {Apple I}, {Apple II} and
{Lisa}. Founded on 1 April 1976 by {Steve Jobs} and {Steve
Wozniak}.
Apples were among the first {microcomputer}s. They originally
used the {6502} processor and are still being made (August
1994), now using the {65816}. The {Apple II} line, which
includes the {Apple I}, is the longest existing line of
microcomputers.
Quarterly sales $2150M, profits $138M (Aug 1994).
{Home (http://www.apple.com/)}.
(16 Jun 1996)
Apple II
<computer> An 8 bit {personal computer} with a {6502}
processor, from {Apple Computer}. It was invented by {Steve
Wozniak} and was very popular from about 1980 until the first
several years of {MS-DOS} {IBM PC}s.
(12 Jan 1995)
Apple Macintosh
{Macintosh}
Apple Newton
<computer> A {Personal Digital Assistant} produced by {Apple
Computer}. The Newton provides a clever, {user-friendly}
interface and relies solely on pen-based input. Eagerly
anticipated, the Newton was supposed to use handwriting
recognition software to "learn" the users handwriting and
provide reliable {character recognition}.
An example of the Newton's handwriting recognition is
{Tablespoons
(http://www-personal.engin.umich.edu/~jxm/tablespoons.html)}.
(22 Nov 1994)
Apple Open Collaboration Environment
<tool> (AOCE) Software for {electronic mail} and directory
services.
(08 Mar 1995)
AppleScript
<language> An {object-oriented} {shell} language for the
{Macintosh}, approximately a superset of {HyperTalk}.
(10 Dec 1995)
Applesoft BASIC
<language> A version of {BASIC} for {Apple} computers.
(10 Dec 1995)
applet
<World-Wide Web> A program written in {Java} which can be
distributed as an attachment in a {World-Wide Web} document
and executed either by Sun's {HotJava} {browser} or {Netscape
Navigator} version 2.0 or later.
Navigator severely restricts what an applet can do in terms of
file system and network access in order to prevent accidental
or deliberate security violations. Full Java applications
which run outside of the browser do not have these
restrictions.
Compare {Plug-in}.
(07 Jan 1997)
Appletalk
<networking, protocol> A proprietary {local area network}
{protocol} developed by {Apple Computer, Inc.} for
communication between Apple products (e.g. {Macintosh}) and
other computers. This protocol is independent of the {network
layer} on which it runs. Current implementations exist for
{Localtalk}, a 235 kilobyte per second local area network and
{Ethertalk}, a 10 megabyte per second local area network.
(08 Mar 1995)
AppleTalk Data Stream Protocol
<protocol> (ADSP) A {protocol} which provides a simple
transport method for data accross a network.
(18 Jun 1996)
application
1. {application program}.
2. {function application}.
Application Binary Interface
<programming> (ABI) The interface by which an {application
program} gains access to {operating system} and other
services. It should be possible to run the same compiled
{binary} applications on any system with the right ABI.
Examples are {88open}'s {Binary Compatibility Standard}, the
{PowerOpen Environment} and {Windows sockets}.
(08 Nov 1994)
Application Control Architecture
<programming> (ACA) {DEC}'s implementation of {ORB}.
(08 Nov 1994)
Application environment specification
<programming> (AES) A set of specifications from {OSF} for
programming and {user interface}s, aimed at providing a
consistent application environment on different hardware. It
includes "O/S" for the {operating system} (user commands and
program interfaces), "U/E" for the User Environment ({Motif}),
and "N/S" for Network services.
(07 Dec 1994)
Application Executive
<language> (AE) An {embeddable language}, written as a {C}
{interpreter} by Brian Bliss <bliss@sp64.csrd.uiuc.edu>. AE
is compiled with an {application} and thus exists in the same
process and address space. It includes a {dbx} {symbol table}
scanner to access compiled variables and routines, or you can
enter them manually by providing a type/name declaration and
the address. When the {interpreter} is invoked, {source code}
fragments are read from the input stream (or a string),
parsed, and evaluated immediately. The user can call compiled
functions in addition to a few {built-in} intrinsics, declare
new data types and data objects, etc. Different input streams
can be evaluated in parallel on {Alliant} computers.
AE has been ported to {SunOS} (cc or {gcc}), {Alliant FX} and
{Cray YMP} (soon).
{(ftp://sp2.csrd.uiuc.edu/pub/at.tar.Z)}
{(ftp://sp2.csrd.uiuc.edu/pub/bliss/ae.tex.Z)}.
(21 Apr 1992)
Application Integration Architecture
(AIA) {DEC}'s "open standards" specifications.
application layer
<networking> The top layer of the {ISO} {seven layer model}.
This layer handles issues like {network transparency},
resource allocation and problem partitioning. The application
layer is concerned with the user's view of the network
(e.g. formatting {electronic mail} messages). The
{presentation layer} provides the application layer with a
familiar local representation of data independent of the
format used on the network.
(28 Nov 1994)
Application Portability Architecture
<programming> (APA) {DEC}'s plan for portable applications
software.
(28 Nov 1994)
application program
(Or "application", "app") A complete, self-contained program
that performs a specific function directly for the user. This
is in contrast to system software such as the {operating
system} {kernel}, {server} processes and libraries which
exists to support application programs.
Editors, {spreadsheet}s, and text formatters are common
examples of applications. Network applications include
clients such as those for {FTP}, {electronic mail} and
{telnet}. The term is used fairly loosely, for instance, some
might say that a client and server together form a distributed
application, others might argue that editors and compilers
were not applications but tools for building applications.
One distinction between an application program and the
operating system is that applications always run in "user
mode" (or "non-privileged mode"), while operating systems and
related utilities may run in "supervisor mode" (or "privileged
mode").
The term may also be used to distinguish programs which
communicate via a {graphical user interface} from those which
are executed from the {command line}.
(28 Nov 1994)
Application Program Interface
<programming> (API, or "application programming interface")
The interface (calling conventions) by which an {application
program} accesses {operating system} and other services. An
API is defined at {source code} level and provides a level of
{abstraction} between the application and the {kernel} (or
other privileged utilities) to ensure the {portability} of the
code.
An API can also provide an interface between a {high level
language} and lower level utilities and services which were
written without consideration for the {calling convention}s
supported by compiled languages. In this case, the API's main
task may be the translation of parameter lists from one format
to another and the interpretation of {call-by-value} and
{call-by-reference} arguments in one or both directions.
(15 Feb 1995)
Application Programming Interface
{Application Program Interface}
Application Protocol Data Unit
<networking> (APDU) A {packet} of data exchanged between two
{application} programs across a {network}. This is the
highest level view of communication in the {OSI} {seven layer
model} and a single packet exchanged at this level may
actually be transmitted as several packets at a lower layer as
well as having extra information (headers) added for {routing}
etc.
(19 Dec 1995)
Application Service Element
<networking> (ASE) Software in the {presentation layer} of the
{OSI} {seven layer model} which provides an abstracted
interface layer to service {application protocol data units}
(APDU). Because {applications} and {network}s vary, ASEs are
split into common services and specific services.
Examples of services provided by the {common application
service element} (CASE) include remote operations (ROSE) and
{database} {concurrency control and recovery} (CCR).
The {specific application service element} (SASE) provides
more specialised services.
(19 Dec 1995)
application software
{application programs}
Application-Specific Integrated Circuit
<hardware> (ASIC) An {integrated circuit} designed to perform
a particular function by defining the interconnection of a set
of basic circuit building blocks drawn from a library provided
by the circuit manufacturer.
(15 Feb 1995)
Applications Programming Interface
{Application Programming Interface}
Application Visualisation System
<tool, graphics> (AVS) A portable, modular, {Unix}-based
graphics package supported by a consortium of vendors
including {Convex}, {DEC}, {IBM}, {HP}, {SET Technologies},
{Stardent} and {WaveTracer}.
(28 Nov 1994)
applicative language
<language> A {functional language}. Sometimes used loosely
for any {declarative language} though {logic programming}
languages are declarative but not applicative.
(24 Dec 1995)
Applicative Language for Digital Signal Processing
<language> (ALDiSP) A {functional language} with special
features for {real-time} {I/O} and numerical processing,
developed at the {Technical University of Berlin} in 1989.
["An Applicative Real-Time Language for DSP - Programming
Supporting Asynchronous Data-Flow Concepts", M. Freericks
<mfx@cs.tu-berlin.de> in Microprocessing and Microprogramming
32, N-H 1991].
(19 Apr 1995)
applicative order reduction
<programming> An {evaluation strategy} under which an
expression is evaluated by repeatedly evaluating its leftmost
innermost {redex}. This means that a function's arguments are
evaluated before the function is applied. This method will
not terminate if a function is given a non-terminating
expression as an argument even if the function is not {strict}
in that argument. Also known as {call-by-value} since the
values of arguments are passed rather than their names. This
is the evaluation strategy used by {ML}, {Scheme}, {Hope} and
most {procedural language}s such as {C} and {Pascal}.
See also {normal order reduction}, {parallel reduction}.
(25 Jan 1995)
APPLOG
<language> A language which unifies {logic programming} and
{functional programming}.
["The APPLOG Language", S. Cohen in Logic Programming, deGroot
et al eds, P-H 1986, pp.39-276].
(25 Jan 1995)
APPN
{Advanced Peer-to-Peer Networking}
April Fool's Joke
<humour, event> (AFJ) Elaborate April Fool's hoaxes are a
long-established tradition on {Usenet} and {Internet}; see
{kremvax} for an example. In fact, April Fool's Day is the
*only* seasonal holiday marked by customary observances on the
hacker networks.
(25 Jan 1995)
A Programming Language
<language> (APL) A language designed originally by Ken Iverson
at {Harvard University} in 1957-1960 as a notation for the
concise expression of mathematical {algorithm}s. It went
unnamed (or just called {Iverson's Language}) and
unimplemented for many years. Finally a subset, APL\360, was
implemented in 1964.
APL is an {interactive} {array-oriented} language with many
innovative features. It was originally written using a
non-standard {character set} but now can use {ISO8485}. It is
{dynamically typed} with {dynamic scope}. APL introduced
several functional forms but is not {purely functional}.
{Dijkstra} got the size of it when he said that APL was a
language designed to perfection - in the wrong direction.
{IBM} once adopted APL - can one be ruder?
Versions: APL\360, APL SV, VS APL, Sharp APL, Sharp APL/PC,
APL*PLUS, APL*PLUS/PC, APL*PLUS/PC II, MCM APL, Honeyapple,
and DEC APL.
See also {Kamin's interpreters}.
{APLWEB} translates {WEB} to {APL}.
["A Programming Language", Kenneth E. Iverson, Wiley, 1962].
(29 Nov 1995)
APSE
{Ada Programming Support Environment}
APT
1. <language> {Automatically Programmed Tools}.
2. <company> {Audio Processing Technology}.
(15 Jan 1996)
APX III
<language> An early system on the {Datatron 200} series.
[Listed in CACM 2(5):16 (May 1959)].
(04 May 1995)
AQL
<language> A picture {query language}, extension of {APL}.
["AQL: A Relational Database Management System and Its
Geographical Applications", F. Antonacci et al, in Database
Techniques for Pictorial Applications, A. Blaser ed,
pp. 569-599].
(04 May 1995)
arbitrary precision calculator
<tool> An arbitrary precision {C}-like calculator.
{Interpreter} version 1.26.4 by David I. Bell
<dbell@canb.auug.org.au>. Ported to {Linux}.
{(ftp://ftp.uu.net/pub/calc)}
(15 Jun 1993)
ARC
<processor> (Previously ARCS) {Advanced RISC Computing
Specification}.
(28 Dec 1995)
arc
<file format, tool> An old archive format for {IBM PC}. The
format is now so obscure that it is only likely to be
supported by jack-of-all-trades decompression programs such as
{WINZIP}.
(03 Nov 1996)
Arcade
<networking> A {BBS} for the {Acorn} {Archimedes}. Also has
links with {Demon Internet}.
Telephone: +44 (181) 654 2212 (24hrs, most speeds).
(08 Nov 1994)
ArchBSD
<operating system> 4.4 {BSD-Lite} for the {Acorn}
{Archimedes}.
(08 Nov 1994)
archie
<tool, networking> A system to automatically gather, index and
serve information on the {Internet}. The initial
implementation of archie by {McGill University} School of
Computer Science provided an indexed directory of filenames
from all {anonymous FTP} archives on the Internet. Later
versions provide other collections of information. See also
{archive site}, {Gopher}, {Prospero}, {Wide Area Information
Servers}.
(28 Dec 1995)
Archimedes
<computer> A family of {microcomputer}s produced by {Acorn
Computers}, Cambridge, UK. The Archimedes, launched in June
1987, was the first {RISC} based {personal computer}
(predating {Apple Computer}'s {Power Mac} by some seven
years). It uses the {Advanced RISC Machine} (ARM) processor
and includes Acorn's {multitasking} {operating system} and
{graphical user interface}, {RISC OS} on {ROM}, along with an
interpreter for Acorn's enhanced {BASIC}, {BASIC V}.
The Archimedes was designed as the successor to Acorn's
sucessful {BBC Microcomputer} series and includes some
backward compatibility and a {6502} {emulator}. Several
utilities are included free on disk such as a text editor,
paint and draw programs. Software emulators are also
available for the {IBM PC} as well as add-on {Intel} processor
cards.
There have been several series of Archimedes: A300, A400,
A3000, A5000, A4000 and {RISC PC}.
There is a {Usenet} {FAQ} {here
(ftp://rtfm.mit.edu/pub/usenet/news.answers/acorn/)} and a
list of {archive site}s for the Archimedes {here
(http://www.cs.vu.nl/~gerben/acorn/acorn-archives.txt)}. The
main archive is {HENSA}, accessible via
{(ftp://micros.hensa.ac.uk/)} and {Gopher
(gopher://micros.hensa.ac.uk/11/%2bgopher/%2bmicros/%2barch/%2briscos)}
and another is in {Stuttgart
(ftp://ftp.uni-stuttgart.de/pub/systems/acorn)}. {Acorn also
run an FTP server (ftp://ftp.acorn.co.uk/)}.
See also {Crisis Software}, {Warm Silence Software}.
(01 Nov 1994)
architecture
<architecture> Design, the way components fit together. The
term is used particularly of processors, both individual and
in general. "The {ARM} has a really clean architecture". It
may also be used of any complex system, e.g. "software
architecture", "network architecture".
(02 May 1995)
Architecture Neutral Distribution Format
<programming, operating system> (ANDF) An emerging {OSF}
{standard} for software distribution. Programs are compiled
into ANDF before distribution and executables are produced
from it for the local target system. This allows software to
be developed and distributed in a single version then
installed on a variety of hardware.
See also {UNCOL}.
Mailing list: <andf-tech@osf.org>.
["Architecture Neutral Distribution Format: A White Paper",
Open Software Foundation, Nov 1990].
(20 Oct 1995)
archive
1. <file format> A single file containing one or (usually)
more separate files plus information to allow them to be
extracted (separated) by a suitable program.
Archives are usually created for software distribution or
{back up}. {tar} is a common format for {Unix} archives, and
{arc} or {pkzip} for {MS-DOS} and {Microsoft Windows}.
2. <operating system> To transfer files to slower, cheaper
media (usually {magnetic tape}) to free the disk space they
occupied. This is now normally done for long-term storage but
in the 1960s, when disk was much more expensive, files were
often shuffled regularly between disk and tape.
3. <networking> {archive site}.
(08 Dec 1996)
archive site
<networking> (Or "FTP site", "FTP archive") An {Internet}
{host} where program source, documents, {e-mail} or {news}
messages are stored for public access via {anonymous FTP},
{Gopher}, {World-Wide Web} or other document distribution
system. There may be several archive sites for e.g. a
{Usenet} {newsgroup} though one may be recognised as the main
one.
Some well-known archive sites include {Imperial College, UK
(ftp://src.doc.ic.ac.uk/)}, {UUNET, USA (ftp://ftp.uu.net/)}.
See also {archie}, {GNU archive site}, {mirror}.
(16 Jan 1995)
ARCnet
<networking> A {network} developed by {DataPoint}. Originally
{proprietary}, by the late 1980s it was no longer proprietary
and had about as large a marketshare as {Ethernet} among small
businesses. It was almost as fast and was considerably
cheaper at the time.
(16 Jan 1995)
ARCS
{ARC}
Arctic
<language> A {real-time} {functional language}, used for music
synthesis.
["Arctic: A Functional Language for Real-Time Control",
R.B. Dannenberg, Conf Record 1984 ACM Symp on LISP and
Functional Prog, ACM].
(16 Jan 1995)
arena
<programming> The area of memory attached to a {Unix} process
by the {brk} and {sbrk} {system call}s and used by {malloc} as
dynamic storage. So named from a "malloc: corrupt arena"
message emitted when some early versions detected an
impossible value in the free block list.
See {overrun screw}, {aliasing bug}, {memory leak}, {memory
smash}, {smash the stack}.
(28 Dec 1995)
ARES
<language> A pictorial {query language}.
["A Query Manipulation System for Image Data Retrieval",
T. Ichikawa et al, Proc IEEE Workshop Picture Data Description
and Management, Aug 1980, pp.61-67].
(10 Oct 1995)
AREV
{Advanced Revelation}
AREXX
<language> {REXX} for the {Amiga}.
{ARexxGuide
(http://www.halcyon.com/robin/www/arexxguide/main.html)}
(06 Feb 1996)
arg
<abbreviation> {argument}.
argument
<programming> ("arg" or parameter) A value or reference passed
to a {function}, {procedure}, {subroutine}, command, or
program, by the caller. For example, in the function:
square(x) = x * x
x is the {formal argument} and in the call
y = square(3+3)
3+3 is the {actual argument}. This will execute the function
square with x having the value 6.
There are many different conventions for passing arguments to
functions and procedures including {call-by-value},
{call-by-name}, {call-by-need}. These affect whether the
value of the argument is computed by the caller or the callee
(the function) and whether the callee can modify the value of
the argument as seen by the caller (if it is a variable).
Arguments to a program are usually given after the command
name, separated by spaces, e.g.:
cat myfile yourfile hisfile
Here "cat" is the command and "myfile", "yourfile", and
"hisfile" are the arguments.
(24 Jan 1995)
Argus
<language> A successor to {CLU}, from LCS {MIT}. Argus
supports distributed programming through {guardians} (like
{monitors}, but can be created dynamically) and {atomic
actions} (indivisible activity). It also has {cobegin} and
coend.
["Argus Reference Manual", B. Liskov et al., TR-400, MIT/LCS,
1987].
["Guardians and Actions: Linguistic Support for Robust,
Distributed Programs", B. Liskov <liskov@lcs.mit.edu> et al,
TOPLAS 5(3):381-404 (1983)].
(28 Dec 1995)
Ariel
<language> An {array}-oriented language for the {CDC 6400}.
["Ariel Reference Manual", P. Devel, TR 22, CC UC Berkeley,
Apr 1968].
["A New Survey of the Ariel Programming Language", P. Deuel,
TR 4, Ariel Consortium, UC Berkeley, June 1972].
[Deuel or Devel?]
(29 Dec 1995)
ARITH-MATIC
An alternate name for {A-3}.
Arithmetic and Logic Unit
<processor> (ALU or "mill") The part of the {central
processing unit} which performs operations such as addition,
subtraction and multiplication of integers and {bit-wise}
{AND}, {OR}, {NOT}, {XOR} and other {Boolean} operations. The
CPU's instruction decode logic determines which particular
operation the ALU should perform, the source the {operand}s
and the destination of the result. The width in {bit}s of the
words which the ALU handles is usually the same as that quoted
for the processor as a whole whereas its external busses may
be narrower. {Floating-point} operations are usually done be
a separate "{floating-point unit}". Some processors use the
ALU for address calculations (e.g. incrementing the {program
counter}), others have separate logic for this.
(24 Mar 1995)
arj
<tool, file format> An archive format for the {IBM PC}. ARJ
files are handled by the ARJ program, created by the American
programmer Robert Jung.
[Available from? Compare with PKZIP?]
(03 Nov 1996)
Arjuna
<language> An {object-oriented programming} system developed
by a team led by Professor Santosh Shrivastava at the
{University of Newcastle}, implemented entirely in {C++}.
Arjuna provides a set of tools for the construction of
{fault-tolerant} {distributed} applications. It exploits
features found in most object-oriented languages (such as
{inheritance}) and only requires a limited set of system
capabilities commonly found in conventional {operating
system}s. Arjuna provides the programmer with {class}es that
implement {atomic transaction}s, {object level recovery},
{concurrency} control and {persistence}. The system is
portable, modular and flexible; the system software has been
available to users via ftp since 1992.
{Home (http://arjuna.ncl.ac.uk/)}
E-mail: <arjuna@newcastle.ac.uk>.
(06 Mar 1995)
ARL
{ASSET Reuse Library}
ARM
1. <processor> {Advanced RISC Machine}.
Originally {Acorn} RISC Machine.
2. <company> {Advanced RISC Machines} Ltd.
3. <publication> ["The Annotated C++ Reference Manual",
Margaret A. Ellis and Bjarne Stroustrup, Addison-Wesley,
1990].
(12 Jan 1995)
ARM610
<processor> A 32 bit {RISC} {microprocessor} based on the
{ARM6} processor core designed by {Advanced RISC Machines}
Ltd.
The ARM610 is the successor to the {ARM3} processor and is
produced by {VLSI Technology Inc}. It consumes 500mW at 33MHz
with a 5V supply.
(29 Dec 1995)
ARM7
<processor> A {RISC} {microprocessor} architecture from
{Advanced RISC Machines} Ltd. (ARM). Building upon the {ARM6}
family, the goal of the ARM7 design was to offer higher levels
of raw compute performance at even lower levels of power
consumption. The ARM7 architecture is now (Dec 1994) the most
powerful low voltage {RISC} processor available on the market.
The ARM7 offers several architectural extensions which address
specific market needs, encompassing fast multiply and
innovative embedded {ICE} support. Software development tools
are available.
The ARM7 architecture is made up of a core CPU plus a range of
system peripherals which can be added to a CPU core to give a
complete system on a chip, e.g. 4K or 8K {cache}, {Memory
Management Unit}, {Write Buffer}, {coprocessor} interface,
{ICEbreaker} embedded {ICE} support and {JTAG} {boundary
scan}. The {ARM710} {microprocessor} is built around the ARM7
core.
{(http://www.systemv.com/armltd/arm7.html)}
(05 Jan 1995)
ARM710
<processor> A 32 bit {RISC} {microprocessor} based on the
{ARM7} processor core designed by {Advanced RISC Machines}
Ltd. The A710 is the successor to the {ARM610} processor. It
was released in July 1994 by {VLSI Technology Inc}.
The ARM710 can run at 40MHz (fastest sample 55MHz) dissipating
500mW with a 5V supply or 25MHz with 3.3V supply. It has an 8
kilobyte on-chip {cache}, {memory management unit} and {write
buffer}.
The ARM700 and ARM710 processors represent a significant
improvement over the {ARM610} processors. They have a higher
maximum clock speed and a number of architectural improvements
such as double the size of internal cache, this means that
more of any process can be executed internally without
accessing the (relatively) slow external memory. Other
improvements are an improved {write buffer} and an enlarged
{Translation Lookaside Buffer} in the {MMU}. All of these
improvements increase the performance of the system and
deliver more real performance than a simple comparison of
clock speeds would indicate.
The ARM710 has been optimised for integer performance. The
FPA11 {floating point} coprocessor has a peak throughput of up
to 5 {MFLOPS} and achieves an average throughput in excess of
3 MFLOPS for a range of calculations.
(21 Apr 1995)
ARM7500
<processor> An {ARM7} core with I/O and {VIDC20} all on one
{integrated circuit}.
(23 Sep 1994)
ARM8
<processor> A {RISC} {microprocessor} {core} designed by
{Advanced RISC Machines} Ltd. with 50000 {transistor}s. The
design of the ARM8 is not yet public but it is not
{superscalar}. The ARM8 will form the core of the {ARM800}
{microprocessor} {integrated circuit}.
(03 Mar 1995)
ARM800
<processor> A {microprocessor} based on the {ARM8} processor
core designed by {Advanced RISC Machines} Ltd. Planned
features include a 60-100Mhz {clock rate}; 0.35-0.4 micron
silicon fabrication; an improvement on the {ARM7}'s 1.4
cycle/instruction; a 16 Kbyte {cache}.
Some estimates were 100 MIPS and 120 Kdhrystones at 70Mhz
(twice the {ARM700}). Samples of the ARM800 are expected to
be available in late 1995.
It may run on a voltage below 3.3V.
{Digital Semiconductor}'s Hudson fab is 0.35 micron and they
have announced a licensing deal for the ARM architecture (see
{StrongARM}).
(07 Feb 1995)
ARM Ltd
{Advanced RISC Machines Ltd.}
ARMM
{Automated Retroactive Minimal Moderation}
armour-plated
{bulletproof}
ARP
{Address Resolution Protocol}
ARPA
{Advanced Research Projects Agency}
ARPANET
{Advanced Research Projects Agency Network}
ARQ
{Automatic Repeat Request}
array
1. <programming> A collection of identically typed data items
distinguished by their indices (or "subscripts"). The number
of dimensions an array can have depends on the language but is
usually unlimited.
A single ordinary variable (a "{scalar}") could be considered
as a zero-dimensional array. A one-dimensional array is also
known as a "{vector}".
A reference to an array element is written something like
A[i,j,k] where A is the array name and i, j and k are the
indices. The {C} language is peculiar in that each index is
written in separate brackets, e.g. A[i][j][k]. This expresses
the fact that, in C, an N-dimensional array is actually a
vector, each of whose elements is an N-1 dimensional array.
Elements of an array are usually stored contiguously.
Languages differ as to whether the leftmost or rightmost index
varies most rapidly, i.e. whether each row is stored
contiguously or each column (for a 2D array).
Arrays are appropriate for storing data which must be accessed
in an unpredictable order, in contrast to lists which are best
when accessed sequentially. See also {associative array}.
2. <architecture> A {processor array}, not to be confused with
an {array processor}.
(25 Jan 1995)
Array Theory
<theory> A theory developed by Trenchard More Jr. and used as
the basis for the {NIAL} language.
Papers are available from the IBM Cambridge Scientific Center,
Cambridge MA.
(25 Jan 1995)
ART
<language> A {real-time} {functional language}. It timestamps
each data value when it was created.
["Applicative Real-Time Programming", M. Broy, PROC IFIP 1983,
N-H].
(15 Jan 1996)
Artemis microkernel
<operating system> A {microkernel} currently under development
by Dave Hudson <dave@humbug.demon.co.uk>, scheduled for
release under {GPL} in May 1995. It is targeted at
{embedded} applications on {Intel 80386}, {Intel 486} and
{Pentium} based systems.
(29 Mar 1995)
Artifex
<programming, tool> A {CASE} environment from {ARTIS} of Turin
for the development of large {event-driven} distributed
systems. It has code-generation and rapid prototyping
features.
(24 Jan 1996)
artificial intelligence
(AI) The subfield of computer science concerned with the
concepts and methods of {symbolic inference} by computer and
symbolic {knowledge representation} for use in making
inferences. AI can be seen as an attempt to model aspects of
human thought on computers. It is also sometimes defined as
trying to solve by computer any problem that a human can solve
faster.
Examples of AI problems are {computer vision} (building a
system that can understand images as well as a human) and
{natural language processing} (building a system that can
understand and speak a human language as well as a human).
These may appear to be modular, but all attempts so far (1993)
to solve them have foundered on the amount of context
information and "intelligence" they seem to require.
See also {AI-complete}, {neural network}, {genetic
programming}, {fuzzy computing}, {artificial life}.
{ACM SIGART (http://sigart.acm.org/)}. {U Cal Davis
(http://phobos.cs.ucdavis.edu:8001)}. {CMU Artificial
Intelligence Repository
(http://www.cs.cmu.edu/Web/Groups/AI/html/repository.html)}.
(29 Oct 1995)
Artificial Intelligence Lab
{MIT AI Lab}
Artificial Life
<algorithm, application> (a-life) The study of synthetic
systems which behave like natural living systems in some way.
Artificial Life complements the traditional biological
sciences concerned with the analysis of living organisms by
attempting to create lifelike behaviours within computers and
other artificial media. Artificial Life can contribute to
theoretical biology by modelling forms of life other than
those which exist in nature. It has applications in
environmental and financial modelling and network
communications.
There are some interesting implementations of artificial life
using strangely shaped blocks. A video, probably by the
company Artificial Creatures who build insect-like robots in
Cambridge, MA (USA), has several mechanical implementations of
artificial life forms.
See also {evolutionary computing}, {life}.
[Christopher G. Langton (Ed.), "Artificial Life", Proceedings
Volume VI, Santa Fe Institute Studies in the Sciences of
Complexity. Addison-Wesley, 1989].
{Mark Smucker's Page
(http://www.cs.wisc.edu/~smucker/gp-list.html)}
{Santa Fe Institute (http://alife.santafe.edu/)}
{The Avida Group
(http://www.krl.caltech.edu/avida/Avida.html)}
(21 Feb 1995)
artificial neural network
<neural network> (ANN) A man-made {neural network} as opposed
to a biological one (a brain).
(28 Nov 1994)
Artisoft, Inc.
<company, networking> A company, known for the {LANtastic}
range of networking products. Originally providers of
easy-to-use, proprietary, {peer-to-peer} network hardware and
software for small installations, Artisoft now also sells
{Ethernet} and {Novell}-compatible hardware and software.
{Home (http://www.artisoft.com/)}
Telephone: +1 (800) 809 1257.
Address: Tucson, Arizona, USA; Phoenix, Arizona, USA.
(24 Apr 1995)
ARTSPEAK
<language> An early simple language for {plotter} graphics.
["The Art of Programming, ARTSPEAK", Henry Mullish, Courant
Inst (Nov 1974)].
(21 Feb 1995)
AS
1. <networking> {Autonomous System}.
2. <storage> {Address Strobe}.
as31
<tool> An {8031}/{8051} {assembler} which produces a variety
of object output formats. Assembler, {yacc} parser and
documentation, version 1 by Ken Stauffer
<stauffer@cpsc.ucalgary.ca>. Theo Deraadt wrote {S-record}
output routines. Ported to {Sun 3}, {Sun 4}, {SunOS 4.0},
{Tandy 6000}, {Xenix}.
{Washington
(ftp://wuarchive.wustl.edu/usenet/comp.sources.misc/volume10/asm.8051.Z)},
{UUNET
(ftp://ftp.uu.net/usenet/comp.sources.misc/volume10/asm.8051.Z)}.
(26 Jan 1990)
AS400
Normally written "{AS/400}".
AS/400
<computer> An {IBM} {minicomputer} for small business and
departmental users released in 1988 and still in production in
February 1997.
Features include a menu-driven interface, {multi-user}
support, terminals that are (in the grand {IBM} tradition)
incompatible with anything else including the {IBM 3270}
series, and an extensive library-based {operating system}.
Programming languages include {RPG}, {assembly language}, {C},
{COBOL}, {SQL}, {BASIC}, and {REXX}. Several {CASE} tools are
available: {Synon}, {AS/SET}, {Lansa}.
Mailing list: <AS400-L@PCCVM.BITNET> (list),
<LISTSERV@PCCVM.BITNET> (subscription requests).
(10 Feb 1997)
ASA
{Adaptive Simulated Annealing}
asbestos
<jargon> Used as a modifier to anything intended to protect
one from {flame}s; also in other highly {flame}-suggestive
usages. E.g., {asbestos longjohns}, {asbestos cork award}.
(06 Feb 1996)
asbestos cork award
<humour> Once, long ago at {MIT}, there was a {flamer} so
consistently obnoxious that another hacker designed, had made,
and distributed posters announcing that said flamer had been
nominated for the "asbestos cork award". (Any reader in doubt
as to the intended application of the cork should consult the
etymology under {flame}.) Since then, it is agreed that only
a select few have risen to the heights of bombast required to
earn this dubious dignity - but there is no agreement on
*which* few.
(06 Feb 1996)
asbestos longjohns
<humour> Notional garments donned by {Usenet} posters just
before emitting a remark they expect will elicit {flamage}.
This is the most common of the {asbestos} coinages. Also
"asbestos underwear", "asbestos overcoat", etc.
ASCII
{American Standard Code for Information Interchange}
ASCII art
<graphics> The fine art of drawing diagrams using the {ASCII}
character set (mainly "|-/\+"). Also known as "character
graphics" or "ASCII graphics"; see also {boxology}. Here is a
serious example:
o----)||(--+--|<----+ +---------o + D O
L )||( | | | C U
A I )||( +-->|-+ | +-\/\/-+--o - T
C N )||( | | | | P
E )||( +-->|-+--)---+--)|--+-o U
)||( | | | GND T
o----)||(--+--|<----+----------+
A power supply consisting of a full wave rectifier
circuit feeding a capacitor input filter circuit
Figure 1.
And here are some very silly examples:
|\/\/\/| ____/| ___ |\_/| ___
| | \ o.O| ACK! / \_ |` '| _/ \
| | =(_)= THPHTH! / \/ \/ \
| (o)(o) U / \
C _) (__) \/\/\/\ _____ /\/\/\/
| ,___| (oo) \/ \/
| / \/-------\ U (__)
/____\ || | \ /---V `v'- oo )
/ \ ||---W|| * * |--| || |`. |_/\
//-o-\\
____---=======---____
====___\ /.. ..\ /___==== Klingons rule OK!
// ---\__O__/--- \\
\_\ /_/
_____
__...---'-----`---...__
_===============================
,----------------._/' `---..._______...---'
(_______________||_) . . ,--'
/ /.---' `/
'--------_- - - - - _/
`--------'
Figure 2.
There is an important subgenre of ASCII art that puns on the
standard character names in the fashion of a rebus.
+--------------------------------------------------------+
| ^^^^^^^^^^^^ |
| ^^^^^^^^^^^ ^^^^^^^^^ |
| ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ |
| ^^^^^^^ B ^^^^^^^^^ |
| ^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^ |
+--------------------------------------------------------+
"A Bee in the Carrot Patch"
Figure 3.
Within humorous ASCII art, there is, for some reason, an
entire flourishing subgenre of pictures of silly cows. One is
shown in Figure 2; here are three more:
(__) (__) (__)
(\/) ($$) (**)
/-------\/ /-------\/ /-------\/
/ | 666 || / |=====|| / | ||
* ||----|| * ||----|| * ||----||
~~ ~~ ~~ ~~ ~~ ~~
Satanic cow This cow is a Yuppie Cow in love
Figure 4.
{(http://gagme.wwa.com/~boba/scarecrow.html)}
(06 Feb 1996)
ASCIIbetical order
<jargon, programming> /as'kee-be'-t*-kl or'dr/ Used to
indicate that data is sorted in {ASCII} collated order rather
than alphabetical order.
(27 Mar 1995)
ASCII character table
<character> The following list gives the {octal}, decimal and
{hexadecimal} {ASCII} codes for each character along with its
printed representation and common name(s).
Oct Dec Hex Name
000 0 0x00 NUL
001 1 0x01 SOH
002 2 0x02 STX
003 3 0x03 ETX, Control-C
004 4 0x04 EOT
005 5 0x05 ENQ
006 6 0x06 ACK
007 7 0x07 BEL
010 8 0x08 BS, backspace
011 9 0x09 HT, tab
012 10 0x0a LF, line feed, newline
013 11 0x0b VT
014 12 0x0c FF, form feed, NP
015 13 0x0d CR, carriage return
016 14 0x0e SO
017 15 0x0f SI
020 16 0x10 DLE
021 17 0x11 DC1, XON, Control-Q
022 18 0x12 DC2
023 19 0x13 DC3, XOFF, Control-S
024 20 0x14 DC4
025 21 0x15 NAK
026 22 0x16 SYN
027 23 0x17 ETB
030 24 0x18 CAN
031 25 0x19 EM
032 26 0x1a SUB
033 27 0x1b ESC, escape
034 28 0x1c FS
035 29 0x1d GS
036 30 0x1e RS
037 31 0x1f US
040 32 0x20 space
041 33 0x21 !, exclamation mark
042 34 0x22 ", double quote
043 35 0x23 #, hash
044 36 0x24 $, dollar
045 37 0x25 %, percent
046 38 0x26 &, ampersand
047 39 0x27 ', quote
050 40 0x28 (, open parenthesis
051 41 0x29 ), close parenthesis
052 42 0x2a *, asterisk
053 43 0x2b +, plus
054 44 0x2c ,, comma
055 45 0x2d -, minus
056 46 0x2e ., full stop
057 47 0x2f /, oblique stroke
060 48 0x30 0
061 49 0x31 1
062 50 0x32 2
063 51 0x33 3
064 52 0x34 4
065 53 0x35 5
066 54 0x36 6
067 55 0x37 7
070 56 0x38 8
071 57 0x39 9
072 58 0x3a :, colon
073 59 0x3b ;, semicolon
074 60 0x3c <, less than
075 61 0x3d =, equals
076 62 0x3e >, greater than
077 63 0x3f ?, question mark
0100 64 0x40 @, commercial at
0101 65 0x41 A
0102 66 0x42 B
0103 67 0x43 C
0104 68 0x44 D
0105 69 0x45 E
0106 70 0x46 F
0107 71 0x47 G
0110 72 0x48 H
0111 73 0x49 I
0112 74 0x4a J
0113 75 0x4b K
0114 76 0x4c L
0115 77 0x4d M
0116 78 0x4e N
0117 79 0x4f O
0120 80 0x50 P
0121 81 0x51 Q
0122 82 0x52 R
0123 83 0x53 S
0124 84 0x54 T
0125 85 0x55 U
0126 86 0x56 V
0127 87 0x57 W
0130 88 0x58 X
0131 89 0x59 Y
0132 90 0x5a Z
0133 91 0x5b [, open square bracket
0134 92 0x5c \, backslash
0135 93 0x5d ], close square bracket
0136 94 0x5e ^, caret
0137 95 0x5f _, underscore
0140 96 0x60 `, back quote
0141 97 0x61 a
0142 98 0x62 b
0143 99 0x63 c
0144 100 0x64 d
0145 101 0x65 e
0146 102 0x66 f
0147 103 0x67 g
0150 104 0x68 h
0151 105 0x69 i
0152 106 0x6a j
0153 107 0x6b k
0154 108 0x6c l
0155 109 0x6d m
0156 110 0x6e n
0157 111 0x6f o
0160 112 0x70 p
0161 113 0x71 q
0162 114 0x72 r
0163 115 0x73 s
0164 116 0x74 t
0165 117 0x75 u
0166 118 0x76 v
0167 119 0x77 w
0170 120 0x78 x
0171 121 0x79 y
0172 122 0x7a z
0173 123 0x7b {, open curly bracket
0174 124 0x7c |, vertical bar
0175 125 0x7d }, close curly bracket
0176 126 0x7e ~, tilde
0177 127 0x7f delete
See {NUL}, {SOH}, {STX}, {ETX}, {ETX}, {EOT}, {ENQ}, {ACK},
{BEL}, {BS}, {HT}, {line feed}, {VT}, {FF}, {CR}, {SO}, {SI},
{DLE}, {XON}, {DC1}, {DC2}, {DC3}, {DC4}, {NAK}, {SYN}, {ETB},
{CAN}, {EM}, {SUB}, {ESC}, {FS}, {GS}, {RS}, {US}, {space},
{exclamation mark}, {double quote}, {hash}, {dollar},
{percent}, {ampersand}, {quote}, {open parenthesis}, {close
parenthesis}, {asterisk}, {plus}, {comma}, {minus}, {full
stop}, {oblique stroke}, {colon}, {semicolon}, {less than},
{equals}, {greater than}, {question mark}, {commercial at},
{open square bracket}, {backslash}, {close square bracket},
{caret}, {underscore}, {back quote}, {open curly bracket},
{vertical bar}, {close curly bracket}, {tilde}, {delete}.
(24 Jun 1996)
ASDIMPL
{ASDO IMPlementation Language}
ASDL
{Abstract-Type and Scheme-Definition Language}
ASDO IMPlementation Language
<language> (ASDIMPL) A {C}-like language, run on {Burroughs}'
{mainframes} in the early 1980s, and {cross-compile}d to
{x86}-based {embedded processor}s.
(06 Feb 1996)
ASE
1. {Advanced Software Environment}.
2. {Application Service Element}.
(19 Feb 1996)
A* search
<algorithm> A graph search algorithm. A* is guaranteed to
find a minimal solution path before any other solution paths,
if a solution exists, in other words, it is an "admissible"
search algorithm. Each path is assigned a value based on the
cost of the path (e.g. its length) and an (under)estimate of
the cost of completing the path, i.e. the cost of a path from
the end of the current path to a solution.
(31 Mar 1995)
ASF
{Algebraic Specification Language}
ash
<tool> A {Bourne Shell} clone by Kenneth Almquist. It works
pretty well. For running scripts, it is sometimes better and
sometimes worse than {Bash}.
Ash runs under {386BSD}, {NetBSD} or {FreeBSD} and {Linux}.
{FTP Linux version
(ftp://ftp.win.tue.nl/pub/linux/ports/ash-linux-0.1.tar.gz)}.
(20 Jul 1995)
Ashmedai
<tool> A {symbolic mathematics} package by Michael Levine
<levine@cpwsca.psc.edu> that influenced {SMP} and {FORM}.
There are versions for the {Univac 1108} and {VAX}/{VMS}.
(21 Mar 1995)
Ashton-Tate Corporation
<company> The original developer and vendor of the {dBASE}
{relational database} and application development tool. In
the early 1990s it was taken over by {Borland International,
Inc.}
[Dates? Address?]
(09 Mar 1996)
ASIC
{Application-Specific Integrated Circuit}
A Simulation Process-Oriented Language
<language, simulation> (ASPOL) An {ALGOL}-like language for
computer {simulation}.
["Process and Event Control in ASPOL", M.H. MacDougall, Proc
Symp on Simulation of Computer Systems, NBS (Aug 1975)].
(25 Mar 1996)
ASIS
1. {Application Software Installation Server}.
At {CERN}.
2. {Ada Semantic Interface Specification}.
ASK
{Amplitude Shift Keying}
ASL
{Algebraic Specification Language}
ASL+
<language, specification> An {algebraic specification
language} by David Aspinall of the {University of Edinburgh}.
ASL+ has rules for proving the satisfaction of specifications.
It can also be viewed as a {type theory} with {subtyping},
featuring {contravariant refinement} for Pi-abstracted
specifications and a notion of {stratified equality} for
{higher-order} objects.
(14 Sep 1994)
ASM
{assembly language}
ASME
{American Society of Mechanical Engineers}
ASN
{Autonomous System Number}
ASN.1
{Abstract Syntax Notation 1}
ASP
<language> A {query language}(?).
[Sammet 1969, p.702].
(25 Mar 1996)
ASPECT
<tool, programming> An {IPSE} developed by an {Alvey} project,
using {Z} to specify the {object-management system} and tool
interface.
(25 Mar 1996)
ASpecT
<language> Algebraic specification of {abstract data types}.
A {strict} {functional language} that compiles to {C}.
Versions are available for {Sun}, {Ultrix}, {NeXT},
{Macintosh}, {OS/2} 2.0, {Linux}, {RS/6000}, {Atari}, {Amiga}.
{(ftp://wowbagger.uni-bremen.de/pub/programming/languages)}
(25 Mar 1996)
aspect ratio
<graphics> The ratio of width to height of a {pixel} or a
display screen. Square pixels (1:1) are considered preferable
but displays are usually about 5:4.
(30 Nov 1994)
ASPEN
<language> A {toy language} for teaching {compiler}
construction.
["ASPEN Language Specifications", T.R. Wilcox, SIGPLAN Notices
12(11):70-87 (Nov 1977)].
(30 Nov 1994)
ASPIK
<language, specification> A multiple-style specification
language.
["Algebraic Specifications in an Integrated Software
Development and Verification System", A. Voss, Diss, U
Kaiserslautern, 1985].
(30 Nov 1994)
Aspirin
<language, tool> A {freeware} language from {MITRE Corp} for
the description of {neural network}s. A compiler, bpmake, is
included. Aspirin is designed for use with the {MIGRAINES}
interface.
{Version: 6.0 (ftp://ftp.cognet.ucla.edu/alexis/)}
(08 Mar 1995)
ASPLE
<language> A {toy language}.
["A Sampler of Formal Definitions", M. Marcotty et al,
Computing Surveys 8(2):191-276 (Feb 1976)].
(08 Feb 1995)
ASPOL
{A Simulation Process-Oriented Language}
ASQC
{American Society for Quality Control}
ASR
{Automatic Send Receive}
assembler
<programming> A program which converts {assembly language}
into {machine code}.
(25 Mar 1996)
ASSEMBLY
<language> An early system on the {IBM 702}.
[Listed in CACM 2(5):16 May 1959].
(27 Jun 1996)
assembly code
{assembly language}
Assembly Language
<language> (AL) A language for industrial {robot}s developed
at {Stanford University} in the 1970s.
["The AL Language for an Intelligent Robot", T. Binford in
Langages et Methods de Programation des Robots Industriels,
pp. 73-88, IRIA Press 1979].
["AL User's Manual", M.S. Mujtaba et al, Stanford AI Lab, Memo
AIM-323 (Jan 1979)].
(24 Nov 1994)
assembly language
<language> (Or "assembly code") A symbolic representation of
the {machine language} of a specific computer. Assembly
language is converted to {machine code} by an {assembler}.
Programming in assembly language is slow and error-prone but
is the only way to squeeze every last bit of performance out
of the hardware.
{Filename extension}: .s ({Unix}), .asm ({CP/M} and others).
See also {second generation language}.
(17 Sep 1996)
Assembly Language Compiler
<language> (ALC) An alternative name for {IBM 360} {assembly
language}.
Compare {BAL}.
(04 Jan 1995)
ASSET
{Asset Source for Software Engineering Technology}
Asset Source for Software Engineering Technology
<project> (ASSET) A programme to promote software {reuse} by
the US {DoD}.
See also {ASSET Reuse Library}.
(19 Aug 1996)
assigned numbers
<standard> The {RFC} {STD 2} documenting the currently
assigned values from several series of numbers used in network
{protocol} implementations. This RFC is updated periodically
and, in any case, current information can be obtained from the
{Internet Assigned Numbers Authority} (IANA). If you are
developing a protocol or application that will require the use
of a link, {socket}, {port}, protocol, etc., you should
contact the IANA to receive a number assignment.
(19 Aug 1996)
assignment
<programming> Storing the value of an expression in a
variable. This is commonly written in the form "v = e". In
{Algol} the assignment operator was ":=" (pronounced
"becomes") to avoid mathematicians qualms about writing
statements like x = x+1.
Assignment is not allowed in {functional language}s, where an
identifier always has the same value.
See also {referential transparency}, {single assignment},
{zero assignment}.
(19 Aug 1996)
Association Control Service Element
<networking> (ACSE) The {OSI} method for establishing a call
between two {application programs}. ACSE checks the
identities and contexts of the application entities, and could
apply an authentication security check.
(18 Jun 1996)
Association for Computational Linguistics
<body> (ACL) The international scientific and professional
society for people working on problems involving {natural
language} and computation. Membership includes the ACL
quarterly journal, "Computational Linguistics", reduced
registration at most ACL-sponsored conferences, discounts on
ACL-sponsored publications, and participation in ACL Special
Interest Groups. The ACL is in its 31st year; there are more
than 2000 members worldwide.
E-mail: <acl@bellcore.com>.
(ACL) {Home (http://www.cs.columbia.edu/~acl/)}.
(17 Jan 1995)
Association for Computing Machinery
<body> (ACM) The largest and oldest international scientific
and educational computer society in the industry. Founded in
1947, only a year after the unveiling of {ENIAC}, ACM was
established by mathematicians and electrical engineers to
advance the science and application of information technology.
{John Mauchly}, co-inventor of the ENIAC, was one of ACM's
founders.
Since its inception ACM has provided its members and the world
of computer science a forum for the sharing of knowledge on
developments and achievements necessary to the fruitful
interchange of ideas.
ACM has 90000 members - educators, researchers, practitioners,
managers, and engineers - who drive the Association's major
programs and services - publications, special interest groups,
chapters, conferences, awards, and special activities.
The ACM Press publishes journals (notably {CACM}), book
series, conference proceedings, CD/ROM, Hypertext and Video,
and specialized publications such as curricula recommendations
and self-assessment procedures.
{Home (http://info.acm.org/)}.
(17 Oct 1996)
Association for Progressive Communications
<body, philosophy> (APC) A world-wide organisation of
like-minded computer {networks} providing a global
communications network dedicated to the free and balanced flow
of information. APC's partner organisations, include The
{Institute for Global Communications} (San Francisco),
Alternex (Brazil), Nicarao (Nicaragua) and GlasNet (Russia).
These organisations serve people working toward goals that
include the prevention of warfare, elimination of militarism
and poverty, protection of the environment, human rights,
social and economic justice, participatory democracy,
nonviolent conflict resolution, and the promotion of
sustainable development.
{Home (http://www.apc.org/)}.
E-mail: <apc-info@apc.org>.
(06 Nov 1996)
Association for SIMULA Users
<body> See {SIMULA}.
Address: Royal Institute of Technology, S-100 44 Stockholm,
Sweden.
[Details?]
(29 Mar 1995)
Association Française des Utilisateurs d'Unix
<body> (et des systèmes ouverts, AFUU) French Association of
{Unix} Users.
{Home (http://www.afuu.fr/)}.
(07 Jun 1996)
Association of American Publishers
<body> (AAP) A group engaged in standardisation efforts in
document preparation.
Association of C and C++ Users
<body> (ACCU) A community of people with an interest in the
{C} family of programming languages: {K&R C}, {ANSI C} and
{C++}. The community includes professional programmers, the
suppliers of {compilers}, and those who are just interested in
the languages. ACCU members are using C and C++ on a wide
range of platforms - {Unix}, {MS-DOS}, {OS/2}, {CP/M} - home
computers, {IBM PC}s, {workstations} and {super-computers}.
Although the organisation is based in the UK, the membership
is worldwide. There are members in the US, mainland Europe,
Russia, the Middle East and Australia.
E-mail: <info@accu.org>, <membership@accu.org>,
<academic@accu.org> (Academic Liaison Officer).
Address: The Membership Secretary, 64 Southfield Road, Oxford
OX4 1PA, United Kingdom.
(02 Dec 1996)
Association of Lisp Users
<body> (ALU) A user group which aims to promote {Lisp}, help
inform and educate Lisp users in general, and help represent
Lisp users as a group to the vendors. The ALU holds an annual
conference and supports the formation of inter-vendor
standards. ALU has international membership and is
incorporated in the US.
{Usenet} {newsgroups}: {news:comp.org.lisp-users}
{news:comp.std.lisp}. Mailing list: <alu@ai.sri.com>.
{Home (http://www.cs.rochester.edu/u/miller/ALU/home.html)}
(07 Dec 1996)
associative array
An {array} where the indices are not just integers but may be
arbitrary strings.
{awk} and its descendants (e.g. {Perl}) have associative arrays
which are implemented using {hash table}s.
(16 Feb 1995)
associative memory
{content addressable memory}
ASTAP
Advanced STatistical Analysis Program. Analysing electronic
circuits and other networks. ["Advanced Statistical Analysis
Program (ASTAP) Program Reference Manual", SH-20-1118, IBM,
1973].
asterisk
<character> "*". Common names include: star; {INTERCAL}:
{splat}; {ITU-T}: asterisk. Rare: {wildcard}; gear; dingle;
mult; spider; aster; times; twinkle; glob (see {glob});
{Nathan Hale}.
Asterix was a fictional Gaul.
(06 Mar 1995)
asterix
<spelling> Do you mean "{asterisk}"?
(01 Mar 1997)
Astral
Based on {Pascal}, never implemented.
["ASTRAL: A Structured and Unified Approach to Database Design
and Manipulation", T. Amble et al, in Proc of the Database
Architecture Conf, Venice, June 1979].
AST Research
Computer manufacturer.
Quarterly sales $409M, profits $14M (Aug 1994).
asymmetrical modulation
<communications> A scheme to maximise use of a communications
line by giving a larger share of the {bandwidth} to the
{modem} which is transmitting the most information.
[Better explanation?]
(04 Apr 1995)
Asymmetric Digital Subscriber Line
<communications> (ADSL, or "Asymmetric Digital Subscriber
Loop") A variation of {Digital Subscriber Line} designed for
an upstream data flow ({client}-to-{server}) which is a
fraction of the downstream data flow (server-to-client).
Typically the upstream data flow is measured in {kilobits} per
second while the downstream data flow is measured in
{megabits} per second (e.g. 6 megabits per second over
standard phone lines).
ADSL is appropriate for applications such as {Video on Demand}
or {World-Wide Web} where a request from the user is far less
data than the response.
["Data Cooks, But Will Vendors Get Burned?", "Supercomm
Spotlight On ADSL" & "Lucent Sells Paradine", Wilson & Carol,
Inter@ctive Week Vol. 3 #13, p1 & 6, June 24 1996].
(13 Oct 1996)
Asymmetric Digital Subscriber Loop
{Asymmetric Digital Subscriber Line}
asynchronous
Not synchronised by a shared signal such as {clock} or
{semaphore}, proceeding independently.
Opposite: {synchronous}.
1. <operating system> A {process} in a {multitasking} system
whose execution can proceed independently, "in the
{background}". Other processes may be started before the
asynchronous process has finished.
2. <communications> A communications system in which data
transmission may start at any time and is indicated by a
{start bit}, e.g. {RS-232}. A data {byte} (or other element
defined by the {protocol}) ends with a {stop bit}. A
continuous marking condition (identical to stop bits but not
quantized in time), is then maintained until data resumes.
(08 Dec 1995)
asynchronous logic
A {data-driven} circuit design technique where, instead of the
components sharing a common clock and exchanging data on clock
edges, data is passed on as soon as it is available. This
removes the need to distribute a common clock signal
throughout the circuit with acceptable {clock skew}. It also
helps to reduce power dissipation in {CMOS} circuits because
gates only switch when they are doing useful work rather than
on every clock edge.
There are many kinds of asynchronous logic. Data signals may
use either "dual rail encoding" or "data bundling". Each dual
rail encoded {Boolean} is implemented as two wires. This
allows the value and the timing information to be communicated
for each data bit. Bundled data has one wire for each data
bit and another for timing. Level sensitive circuits
typically represent a logic one by a high voltage and a logic
zero by a low voltage whereas transition signalling uses a
change in the signal level to convey information. A speed
independent design is tolerant to variations in gate speeds
but not to propagation delays in wires; a delay insensitive
circuit is tolerant to variations in wire delays as well.
The purest form of circuit is delay-insensitive and uses
dual-rail encoding with transition signalling. A transition
on one wire indicates the arrival of a zero, a transition on
the other the arrival of a one. The levels on the wires are
of no significance. Such an approach enables the design of
fully delay-insensitive circuits and automatic layout as the
delays introduced by the layout compiler can't affect the
functionality (only the performance). Level sensitive designs
can use simpler, stateless logic gates but require a "return
to zero" phase in each transition.
{(http://www.cs.man.ac.uk/amulet/async/)}
(18 Jan 1995)
Asynchronous Transfer Mode
<communications> (ATM, or "fast packet") A method for the
dynamic allocation of {bandwidth} using a fixed-size {packet}
(called a cell).
See also {Wideband ATM}.
{ATM Forum (http://www.atmforum.com/)}
{ATM Forum acronyms
(http://www.atmforum.com/atmforum/acronym_index.html)}.
{Indiana acronyms
(http://cell-relay.indiana.edu/cell-relay/FAQ/ATM-Acronyms.html)}.
[Data rate(s)?]
(01 Apr 1996)
asyncronous
<spelling> Misspelling of "{asynchronous}".
(13 Dec 1996)
AT
{IBM PC AT}
at
{commercial at}
AT-3
Original name of {MATH-MATIC}. [Sammet 1969, p.135].
ATA
{Advanced Technology Attachment}
ATA-2
{Advanced Technology Attachment Interface with Extensions}
ATAPI
<storage> The {API} used on the {IBM PC AT} for accessing
{CD-ROM}s.
(06 Aug 1995)
Atari
<computer> A range of 16- and 32 bit {microcomputer}s. Notable
for having a built-in {MIDI} interface. At present (Feb 1994)
it includes the Atari 520ST, 1040ST, Mega ST, STe, STacy, Mega
STe, TT, and Falcon. There are also emulators for the Apple
{Macintosh} and IBM PC/XT/AT available.
{Usenet} newsgroups: {news:comp.binaries.atari.st},
{news:comp.sys.atari.st.tech}, {news:comp.sources.atari.st}.
{Michigan U (ftp://atari.archive.umich.edu)} [141.211.164.8],
{UK (ftp://micros.hensa.ac.uk/)}, {Germany
(ftp://ftp.Germany.EU.net)} [192.76.144.75], {Netherlands
(ftp://ftp.cs.ruu.nl/)} [131.211.80.17], {UK
(ftp://src.doc.ic.ac.uk/computing/systems/atari/umich)}.
AT Attachment
{Advanced Technology Attachment}
AtFS
Attributed File System: the basis of the Shape_VC toolkit.
Cooperative work within projects is supported by a status
model controlling visibility of version objects, locking, and
"long transactions" for synchronizing concurrent updates. The
concept of object attributes provides a basis for storing
management information with versions and passing this
information between individual tools. This mechanism is
useful for building integrated environments from a set of
unrelated tools.
Athena
Project Athena: a distributed system project for support of
educational and research computing at MIT. Much of the
software developed is now in wider use, especially the X
Window System
Atherton
Atherton Technology developed the Software BackPlane CASE
framework. Their Atherton Tool Integration Services were the
basis for the ATIS standard.
ATIS
A Tools Integration Standard
ATK
The Andrew Toolkit
ATLAS
Abbreviated Test Language for Avionics Systems. MIL-spec
language for automatic testing of avionics equipment.
Replaced/upgraded Gaelic and several other test languages.
"IEEE Standard ATLAS Test Language", IEEE Std 416-1976.
Atlas Autocode
Autocode for the {Ferranti} {Atlas}, which may have been the
first commercial computer with {hardware-paged} {virtual
memory}. Whereas other {autocode}s were basically symbolic
{assembly language}s, Atlas Autocode was high-level and
{block-structured}, resembling a cross between {FORTRAN} and
{ALGOL 60}. It had {call-by value}, loops, declarations,
complex numbers, pointers, {heap} and {stack} storage
generators, {dynamic array}s and extensible {syntax}.
ATM
1. <communications> {Asynchronous Transfer Mode}.
2. Automatic Teller Machine.
A cash dispenser.
3. <talk> At the moment.
4. <text> {Adobe Type Manager}.
(04 Dec 1995)
ATOLL
Acceptance, Test Or Launch Language. Language used for
automating the checkout and launch of Saturn rockets.
["SLCC ATOLL User's Manual", IBM 70-F11-0001, Huntsville AL
Dec 1970].
atomic
[Greek "atomos", indivisible] Indivisible; cannot be split up.
For example, an instruction may be said to do several things
"atomically", i.e. all the things are done immediately, and
there is no chance of the instruction being half-completed or
of another being interspersed. Used especially to convey that
an operation cannot be interrupted.
An atomic data type has no internal structure visible to the
program. It can be represented by a flat domain (all elements
are equally defined). Machine integers and {Booleans} are two
examples.
An atomic {database} transaction is one which is guaranteed to
complete successfully or not at all. If an error prevents a
partially-performed transaction from proceeding to completion,
it must be "backed out'" to prevent the database being left
in an inconsistent state.
A Tools Integration Standard
(ATIS) An {object-oriented} interface to a set of services
that allows the saving, accessing and managing of information
in a common repository. Developed by {Atherton Technology}
and {DEC}, based on an extended version of the {Software
BackPlane}, now proposed as an industry standard.
(25 Oct 1994)
ATS
{Attribute Translation System}
at sign
{commercial at}
AT&T
American Telephone and Telegraph, Inc. One of the largest US
telecommunications providers. Also noted for being the
birthplace of the {Unix} {operating system} and the {C} and
{C++} programming languages.
AT&T was incorporated in 1885, but traces its lineage to
Alexander Graham Bell and his invention of the telephone in
1876. As parent company of the former {Bell System}, AT&T's
primary mission was to provide telephone service to virtually
everyone in the United States. In its first 50 years, AT&T
established subsidiaries and allied companies in more than a
dozen other countries. It sold these interests in 1925 and
focused on achieving its mission in the United States. It
did, however, continue to provide international long distance
service.
The Bell System was dissolved at the end of 1983 with AT&T's
divestiture of the Bell telephone companies. Today, AT&T
operates worldwide in competitive, high-technology markets,
with only its long distance services remaining under
government regulation. With 2.4 million registered
shareowners, AT&T's is the most widely held stock in America.
See also {3DO}, {Advanced RISC Machine}, {Berkeley System
Distribution}, {Bell Laboratories}, {Concurrent C}, {Death
Star}, {dinosaurs mating}, {InterNIC}, {System V}, {Nawk},
{Open Look}, {rc}, {S}, {Standard ML of New Jersey}, {Unix
International}, {Unix conspiracy}, {USG Unix}, {Unix System
Laboratories}.
{Home (http://www.att.com/)}.
{Research (http://www.research.att.com/)}.
[Would someone write a story around those "see also"s?]
(07 Dec 1994)
Attachment Unit Interface
<networking> (AUI) The part of the {IEEE} {Ethernet}
{standard} located between the {MAC}, and the {MAU}. The AUI
is a {transceiver} cable that provides a path between a
{node}'s Ethernet interface and the MAU.
(08 Dec 1996)
AT&T Bell Labs
{Bell Laboratories}
attoparsec
<unit, humour> About 3.1 cm (one inch). "atto-" is the
standard {SI} {prefix} for multiplication by 10^-18. A parsec
(parallax-second) is 3.26 light-years; an attoparsec is thus
3.26 * 10^(-18) light years. Thus, 1
attoparsec/{microfortnight} is about 1 inch/sec.
This unit is reported to be in use (though probably not very
seriously) among hackers in the UK.
(08 Dec 1996)
Attribute Translation System
(ATS) A {BNF}-based {parser generator} from the {University of
Saskatchewan}(?). It generates table-driven {LL1} {parser}s
with full {insert-only error recovery}. It also has full
left-attribute semantic handling, which is a dream compared to
using {YACC}'s parser actions.
E-mail: Dave Bocking <bocking@cs.usask.ca>?
(29 Nov 1988)
ATX
<hardware> A {PC} {motherboard} open specification by {Intel}.
ATX is a development of the {Baby AT} specification with the
motherboard rotated 90 degrees in the chassis. The {CPU} and
{SIMM} sockets have been relocated away from the {expansion
card} slots meaning that all the slots support full-length
cards. More {I/O} functions are integrated on the
motherboard. As the longer edge of the board is now at the
back of the chassis, there is more space for connectors; also,
the I/O opening on the back panel of the chassis has been
defined as double the previous height, allowing vendors to add
extra on-board I/O functions over and above the standard.
As well as the motherboard size, layout, and placement, the
ATX specification also includes requirements for power supply
and fan specification and location.
The full size ATX board measures 305mm wide by 244mm deep.
There is also a Mini-ATX form factor, 284mm by 208mm.
{Intel Home
(http://developer.intel.com/design/motherbd/atx.htm)}.
{Teleport Home (http://www.teleport.com/~atx/)}.
(10 Dec 1996)
au
1. <networking> The two character {country code} for Australia
used in {Internet} {domain names}.
2. <filename extension> {audio}.
(15 Feb 1995)
aubergine
A secret term used to refer to computers in the presence of
computerphobic third parties.
(24 Jan 1995)
audio
<file format> Sound. Computers (and audio compact discs and
digital audio tape) handle sound by storing a sequence of
discrete samples. The continuous sound waveform from the
original source is sampled tens of thousands of times a
second. Each sample represents the intensity of the sound
pressure wave at that instant. Apart from the sampling
frequency, the other parameter is the digital encoding of each
sample including the number of bits used. The encoding may be
linear, logarithmic or {mu-law}.
Sound is one component of {multimedia}.
{Filename extension}: .au ({Unix}), .snd ({MS-DOS}, {MS
Windows}).
See also {Audio IFF}.
{Usenet} newsgroups: alt.binaries.sounds.*.
A {FAQ} on audio file formats is available. {Part 1
(ftp://ftp.cwi.nl/pub/audio/AudioFormats.part1)}, {Part 2
(ftp://ftp.cwi.nl/pub/audio/AudioFormats.part2)}.
audiographics
{Audiographic Teleconferencing}
audiographic teleconferencing
<communications> (Or "electronic whiteboarding", "screen
sharing") A form of {teleconferencing} in {real time} using
both an {audio} and a data connection. The computer screen is
shared by more than one site, and used as an electronic
blackboard, overhead projector or still video projector. Some
systems allow for sharing software also.
(06 Oct 1995)
Audio IFF
<file format> (AIFF) A format developed by {Apple Computer}
Inc. for storing high-quality sampled {audio} and musical
instrument information. It is also used by {SGI} and several
professional audio packages.
(10 Oct 1994)
AudioOne
<tool> Digital recording and editing software developed by
{BizTrack Software Development} for the dance, music, and
audio industries. AudioOne includes a waveform recorder that
allows signal manipulation, editing, and recording.
(28 Sep 1996)
Audio Processing Technology
<company> (APT) A company that produces {codecs} based on
{predictive analysis} rather than {frequency coding}.
(15 Jan 1996)
Audio Video Interleave
<multimedia> (AVI) An {audio}-{video} {standard} designed by
{Microsoft}. Apparently proprietary and {Microsoft
Windows}-specific.
{(http://www2.echo.lu/oii/en/video.html#AVI)}.
[Details?]
(08 Sep 1996)
AUI
1. <tool, product> {Adaptable User Interface}.
2. <networking> {Attachment Unit Interface}.
(08 Dec 1996)
A'UM
<language> A {stream}-based, {concurrent}, {logic},
{object-oriented} language by K. Yoshida and T. Chikayama
<chik@icot.or.jp>, built on top of {KL1}.
["A'UM - A Stream-based Concurrent Logic Object-Oriented
Language", K. Yoshida et al, Proc 3rd Intl Conf Fifth Gen
Comp Sys, Springer 1988, pp. 638-649].
(08 Dec 1996)
AUP
{acceptable use policy}
Aurora
["The Aurora Or-Parallel Prolog System", E. Lusk et al, Proc
3rd Intl Conf on Fifth Generation Comp Systems, pp. 819-830,
ICOT, A-W 1988].
Austin Kyoto Common Lisp
<language> (AKCL) A collection of ports, bug fixes, and
performance improvements to {KCL} by William Schelter
<wfs@cli.com>, <wfs@math.utexas.edu>, University of Texas.
Version 1-615 includes ports to {Decstation} 3100,
{HP9000}/300, {i386}/{Sys V}, {IBM-PS2}/{AIX}, {IBM-RT}/{AIX},
{SGI}, {Sun-3}/{Sunos} 3 or 4, {Sun-4}, {Sequent Symmetry},
{IBM370}/{AIX}, {VAX}/{BSD VAX}/{Ultrix}, {NeXT}.
{(ftp://rascal.ics.utexas.edu/pub/akcl-1-609.tar.Z)}
(29 Apr 1992)
authentication
The verification of the identity of a person or process. In a
communication system, authentication verifies that messages
really come from their stated source, like the signature on a
(paper) letter.
authoring
<hypertext> Creating a {hypertext} or {hypermedia} document.
(07 Nov 1994)
autobaud
{automatic baud rate detection}
autobogotiphobia
/aw'toh-boh-got`*-foh'bee-*/ See {bogotify}.
AutoCAD
A {CAD} {software} package for mechanical engineering marketed
by {Autodesk, Inc.}
(09 Nov 1994)
Autocode
1. The name given to the {assembly language} accepted by
{AUTOCODER}.
2. A generic term for symbolic {assembly language}. Versions
of Autocode were developed for {Ferranti} {Atlas}, {Titan},
{Mercury} and {Pegasus} and {IBM 702} and {IBM 705}.
AUTOCODER
Possibly the first primitive {compiler}. It was written by
Alick E. Glennie in 1952. It translated symbolic statements
into {machine language} for the {Manchester Mark I} computer.
Autocoding later came to be a generic term for {assembly
language} programming.
(07 Nov 1994)
Autodesk, Inc.
The distributors of the {AutoCAD} {CAD} package.
Address: Sausalito, CA, USA.
(09 Nov 1994)
AUTOEXEC.BAT
<operating system> The {batch file} containing commands,
loaded by {MS-DOS} after running {CONFIG.SYS}. AUTOEXEC.BAT
contains normal DOS commands and can be used for additional
system configuration such as setting paths and variables,
configuring network connections and running {application
program}s.
(18 Mar 1995)
AUTOGRAF
A system for describing {bar chart}s.
["User's Manual for AUTOGRAF", Cambridge Computer Assoc (Dec
1972)].
AUTOGRP
AUTOmated GRouPing system. An interactive statistical
analysis system, an extension of {CML}.
["AUTOGRP: An Interactive Computer System for the Analysis of
Health Care Data", R.E. Mills et al, Medical Care 14(7) (Jul
1976)].
(07 Nov 1994)
Auto Idle
A facility provided by some {Intel} {clock doubled}
{microprocessor}s where the internal clock can be slowed to
the external {clock rate} while the processor is waiting for
data from memory, returning to full speed as soon as the data
arrives.
See also {System Management Mode}.
(09 Nov 1994)
Autolisp
A dialect of {Lisp} used by the {Autocad} {CAD} package from
{Autodesk}.
(09 Nov 1994)
autoloader
{stack loader}
automagically
/aw-toh-maj'i-klee/ or /aw-toh-maj'i-k*l-ee/ Automatically,
but in a way that, for some reason (typically because it is
too complicated, or too ugly, or perhaps even too trivial),
the speaker doesn't feel like explaining to you. See {magic}.
"The C-INTERCAL compiler generates C, then automagically
invokes {cc} to produce an executable."
automata
{automaton}
automata theory
{automaton}
Automated Engineering Design
<language> (AED) (Or "ALGOL Extended for Design") A systems
language for the {IBM 7090} and {IBM 360} developed at {MIT}
System Laboratory ca. 1965 by a team led by Douglas T. Ross
(now at {Softech}). AED is an extension of {ALGOL 60} with
{record}s ("plexes"), pointers, and {dynamic allocation}.
{DYNAMO II} was written in AED, as was the first {BCPL}
{compiler}.
Versions: AED-0, AED-1, AED-JR.
["The Automated Engineering Design (AED) Approach to
Generalized Computer-Aided Design", D.T. Ross, Proc ACM 22nd
Natl Conf, 1967].
[Sammet 1969 and 1978].
(26 Mar 1995)
Automated Retroactive Minimal Moderation
<messaging> (ARMM) A {Usenet} robot created by Dick Depew of
Munroe Falls, Ohio. ARMM was intended to automatically cancel
posts from anonymous-posting sites. Unfortunately, the
robot's recogniser for anonymous postings triggered on its own
automatically-generated control messages! Transformed by this
stroke of programming ineptitude into a monster of
Frankensteinian proportions, it broke loose on the night of
March 31, 1993 and proceeded to {spam} {news:news.admin.policy}
with a recursive explosion of over 200 messages.
ARMM's bug produced a recursive {cascade} of messages each of
which mechanically added text to the ID and Subject and some
other headers of its parent. This produced a flood of
messages in which each header took up several screens and each
message ID and subject line got longer and longer and longer.
Reactions varied from amusement to outrage. The pathological
messages crashed at least one mail system, and upset people
paying line charges for their {Usenet} feeds. One poster
described the ARMM debacle as "instant {Usenet} history" (also
establishing the term {despew}), and it has since been widely
cited as a cautionary example of the havoc the combination of
good intentions and incompetence can wreak on a network.
Compare {Great Worm}; {sorcerer's apprentice mode}. See also
{software laser}, {network meltdown}.
(08 Jan 1996)
automated testing
<programming> Software testing assisted with software tools
that require no operator input, analysis, or evaluation.
(10 May 1996)
AUTOMATH
Eindhoven, Netherlands. A very high level language for
writing proofs. "The Mathematical Language AUTOMATH, Its
Usage and Some of its Extensions", N.G. deBruijn, in Symp on
Automatic Demonstration, LNM 125, Springer 1970.
Automatically Programmed Tools
<language> (APT) A language for numerically controlled machine
tools.
Versions: APT II (IBM 704, 1958), APT III (IBM 7090, 1961).
["APT Part Programming", McGraw-Hill].
[Sammet 1969, p. 605].
(04 May 1995)
automatic baud rate detection
(ABR, autobaud) A process by which a receiving device
determines the speed, code level, and stop bits of incoming
data by examining the first character, usually a preselected
sign-on character. ABR allows the receiving device to accept
data from a variety of transmitting devices operating at
different speeds without needing to establish data rates in
advance.
(18 Jun 1996)
automatic hyphenation
<text> A feature of some {word processors} which can insert
hyphens into words which would otherwise extend beyond the
right hand margin of the page.
More advanced word processors may have options to control the
position of the hyphen, to restrict certain words from being
hyphenated, and to allow custom dictionaries of hyphenation
points to be built up.
(02 Aug 1996)
Automatic Mathematical TRANslation
<mathematics, tool> (AMTRAN) A system developed by NASA
Huntsville in 1966 for {IBM 1620}, based on the {Culler-Fried}
System. It required a special terminal.
["AMTRAN: An Interactive Computing System", J. Reinfelds, Proc
FJCC 37:537- 542, AFIPS (Fall 1970)].
(14 Nov 1995)
Automatic Number Identification
<communications> (ANI) A service that tells the recipient of a
telephone call the telephone number of the person making the
call. This number can be passed to computer equipment to
automatically retrieve associated information about the caller,
i.e. account status, billing records, etc.
See {CTI}.
(08 Dec 1996)
Automatic Repeat Request
<communications> (ARQ) A {modem} error control {protocol} in
which the receiver asks the transmitter to resend corrupted
data.
(14 Nov 1995)
Automatic Send Receive
<hardware> (ASR) Part of a designation for a hard-copy
{terminal}, manufactured by {Teletype Corporation}, which
could be commanded remotely to send the contents of its {paper
tape} reader. The ASR-33 was the most common {minicomputer}
terminal in the early 1970s.
(23 Nov 1995)
Automatic Sequence Controlled Calculator
{Mark 1}
automation
Automatic, as opposed to human, operation or control of a
process, equipment or a system; or the techniques and
equipment used to achieve this. Most often applied to
computer (or at least electronic) control of a manufacturing
process.
See also {design automation}, {office automation},
{manularity}, {Manufacturing Automation Protocol}, {PEARL},
{QBE}.
(21 Oct 1994)
Automatische Rechenplanfertigung
A programming language published in 1952 by Heinz Rutishauser
(1918-70).
automaton
<robotics, mathematics, algorithm> (Plural automata) A
machine, {robot}, or formal system designed to follow a
precise sequence of instructions.
Automata theory, the invention and study of automata, includes
the study of the capabilities and limitations of computing
processes, the manner in which systems receive input, process
it, and produce output, and the relationships between
behavioural theories and the operation and use of automated
devices.
See also {cellular automaton}, {finite state machine}.
(23 Apr 1996)
Automatrix, Inc.
<company> The company which produced {CAM-PC}.
Address: Ballston Spa, NY, USA.
{Home (http://www.automatrix.com/)}
(21 Apr 1995)
Autonomous System
(AS) A collection of {router}s under a single administrative
authority using a common {Interior Gateway Protocol} for
routing packets.
Autonomous System Number
(ASN) Used for {routing} on {Internet}. See {Autonomous
System}.
Autopass
["Autopass: An Automatic Programming System for
Computer-Controlled Mechanical Assembly", L.I. Lieberman et
al, IBM J Res Dev 21(4):321-333 (1979)].
autoprojector
A self-applicable {partial evaluator}.
AUTO-PROMPT
Numerical control language from IBM for 3-D milling.
[Sammet 1969, p.606].
Autostat
["Autostat: A Language for Statistical Programming",
A.S. Douglas et al, Computer J 3:61 (1960)].
autostereogram
The original name for a {SIRDS}.
Avalon/C++
1986. Fault-tolerant distributed systems, influenced by
{Argus}. A concurrent extension of {C++} with servers and
transactions. "Camelot and Avalon: A Distributed Transaction
Facility", J.L. Eppinger et al, Morgan Kaufmann 1990.
Avalon/Common LISP
Prototype only. "Reliable Distributed Computing with
Avalon/Common LISP", S.M. Clamen et al, CMU-CS-89-186 and Proc
Intl Conf on Computer Languages, Mar 1990.
avatar
[CMU, Tektronix] {root}, {superuser}. There are quite a few
{Unix} computers on which the name of the superuser account is
"avatar" rather than "root". This quirk was originated by a
{CMU} hacker who disliked the term "superuser", and was
propagated through an ex-CMU hacker at {Tektronix}.
AVI
{Audio Video Interleave}
Avon
A {dataflow} language.
["AVON: A Dataflow Language", A. Deb, ICS 87, Second Intl Conf
on Supercomputing, v.3, pp.9-19 (ISI 1987)].
(28 Nov 1994)
AVS
{Application Visualisation System}
AWE
{Advanced WavEffect}
awk
1. <tool, language> (Named from the authors' initials) An
interpreted language included with many versions of {Unix} for
massaging text data developed by Alfred Aho, Peter Weinberger,
and Brian Kernighan in 1978. It is characterised by {C}-like
syntax, declaration-free variables, {associative array}s, and
field-oriented text processing.
There is a {GNU} version called {gawk} and other varients
including {bawk}, {mawk}, {nawk}, {tawk}. {Perl} was inspired
in part by awk but is much more powerful.
{Unix manual page}: awk(1).
{netlib WWW
(http://plan9.att.com/netlib/research/index.html)}. {netlib
FTP (ftp://netlib.att.com/netlib/research/)}.
["The AWK Programming Language" A. Aho, B. Kernighan,
P. Weinberger, A-W 1988].
2. <abbreviation, jargon> An expression which is awkward to
manipulate through normal {regexp} facilities (for example,
one containing a {newline}).
(06 Oct 1995)
AWT
{Abstract Windowing Toolkit}
aXe
<tool> A {text editor} for the {X Window System}.
[Features? FTP?]
(06 Apr 1996)
AXIOM
A commercially available subset of {Scratchpad}, from {IBM}.
["Axiom - The Scientific Computing System", R. Jenks et al,
Springer 1992].
(21 Feb 1995)
axiom
<logic> A {well-formed formula} which is taken to be true
without proof in the construction of a {theory}.
(31 Mar 1995)
AXIOM*
A {symbolic mathematics} system.
{A#} is one component of AXIOM*.
Version: 2.
(21 Feb 1995)
Axiomatic Architecture Description Language
["AADL: A Net-Based Specification Method for Computer
Architecture Design", W. Damm et al in Languages for Parallel
Architectures, J.W. deBakker ed, Wiley 1989].
(07 Feb 1995)
axiomatic semantics
<theory> A set of assertions about properties of a system and
how they are effected by program execution. The axiomatic
semantics of a program could include pre- and post-conditions
for operations. In particular if you view the program as a
state transformer (or collection of state transformers), the
axiomatic semantics is a set of invariants on the state which
the state transformer satisfies.
E.g. for a function with the type:
sort_list :: [T] -> [T]
we might give the precondition that the argument of the
function is a list, and a postcondition that the return value
is a list that is sorted.
One interesting use of axiomatic semantics is to have a
language that has a {finitely computable} sublanguage that is
used for specifying pre and post conditions, and then have the
compiler prove that the program will satisfy those conditions.
See also {operational semantics}, {denotational semantics}.
(09 Nov 1995)
Axiom of Choice
<mathematics> (AC, or "Choice") An {axiom} of {set theory}:
If X is a set, and S is the union of all the elements of X,
then there exists a function f:X -> S such that for all
non-empty x in X, f(x) is an element of x.
In other words, we can always choose an element from each set
in a set of sets, simultaneously.
Function f is a "choice function" for X - for each x in X, it
chooses an element of x.
Most people's reaction to AC is: "But of course that's true!
From each set, just take the element that's biggest,
stupidest, closest to the North Pole, or whatever". Indeed,
for any {finite} set of sets, we can simply consider each set
in turn and pick an arbitrary element in some such way. We
can also construct a choice function for most simple {infinite
set}s of sets if they are generated in some regular way.
However, there are some infinite sets for which the
construction or specification of such a choice function would
never end because we would have to consider an infinite number
of separate cases.
For example, if we express the {real number} line R as the
union of many "copies" of the {rational number}s, Q, namely Q,
Q+a, Q+b, and infinitely (in fact uncountably) many more,
where a, b, etc. are {irrational number}s no two of which
differ by a rational, and
Q+a == {q+a : q in Q}
we cannot pick an element of each of these "copies" without
AC.
An example of the use of AC is the theorem which states that
the {countable} union of countable sets is countable. I.e. if
X is countable and every element of X is countable (including
the possibility that they're finite), then the sumset of X is
countable. This requires AC to be true in general.
Even if one accepts the axiom, it doesn't tell you how to
construct a choice function, only that one exists. Most
mathematicians are quite happy to use AC if they need it, but
those who are careful will, at least, draw attention to the
fact that they have used it. There is something a little odd
about Choice, and it has some alarming consequences, so
results which actually "need" it are somehow a bit suspicious,
e.g. the {Banach-Tarski paradox}. On the other side, consider
{Russell's Attic}.
AC is not a {theorem} of {Zermelo Fränkel set theory} (ZF).
Gödel and Paul Cohen proved that AC is independent of ZF,
i.e. if ZF is consistent, then so are ZFC (ZF with AC) and
ZF(~C) (ZF with the negation of AC). This means that we
cannot use ZF to prove or disprove AC.
(12 Apr 1995)
Axiom of Comprehension
<mathematics> An {axiom schema} of {set theory} which states:
if P(x) is a {property} then
{x : P}
is a set. I.e. all the things with some property form a set.
Acceptance of this axiom leads to {Russell's Paradox} which is
why {Zermelo set theory} replaces it with a restricted form.
(31 Mar 1995)
AXLE
An early string processing language. Program consists of an
assertion table which specifies patterns, and an imperative
table which specifies replacements. "AXLE: An Axiomatic
Language for String Transformations", K. Cohen et al, CACM
8(11):657-661 (Nov 1965).
ayacc
A {Yacc}-like {parser generator} from the {Irvine Research
Unit in Software} written in {Ada} that produce {Ada} output.
Comes with {aflex}.
Version 1.2a.
{(ftp://liege.ics.uci.edu/pub/irus/aflex-ayacc_1.2a.tar.Z)}
Mailing list: <irus-software-request@ics.uci.edu>.
(06 Jan 1993)
AYT
<talk> Are you there?
(09 Mar 1996)