1. A scheme used in event-driven programs where the program registers a subroutine (a "callback handler") to handle a certain event. The program does not call the handler directly but when the event occurs, the run-time system calls the handler, usually passing it arguments to describe the event.

<communications, security>

2. A user authentication scheme used by some computers running dial-up services. The user dials in to the computer and gives his user name and password. The computer then hangs up the connection and uses an auto-dial modem to call back to the user's registered telephone number. Thus, if an unauthorised person discovers a user's password, the callback will go, not to him, but to the owner of that login who will then know that his account is under attack.

However, some PABXs can be fooled into thinking that the caller has hung up by sending them a dial tone. When the computer tries to call out on the same line it is not actually dialing through to the authorised user but is still connected to the original caller.


3. cost control callback.

Last updated: 2003-07-13



(CBN) (Normal order reduction, leftmost, outermost reduction). An argument passing convention (first provided by ALGOL 60?) where argument expressions are passed unevaluated. This is usually implemented by passing a pointer to a thunk - some code which will return the value of the argument and an environment giving the values of its free variables.

This evaluation strategy is guaranteed to reach a normal form if one exists.

When used to implement functional programming languages, call-by-name is usually combined with graph reduction to avoid repeated evaluation of the same expression. This is then known as call-by-need.

The opposite of call-by-name is call-by-value where arguments are evaluated before they are passed to a function. This is more efficient but is less likely to terminate in the presence of infinite data structures and recursive functions.

Arguments to macros are usually passed using call-by-name.

Last updated: 2006-05-27



A reduction strategy which delays evaluation of function arguments until their values are needed. A value is needed if it is an argument to a primitive function or it is the condition in a conditional. Call-by-need is one aspect of lazy evaluation.

The term first appears in Chris Wadsworth's thesis "Semantics and Pragmatics of the Lambda calculus" (Oxford, 1971, p. 183). It was used later, by J. Vuillemin in his thesis (Stanford, 1973).

Last updated: 1995-05-27



An argument passing convention where the address of an argument variable is passed to a function or procedure, as opposed to passing the value of the argument expression. Execution of the function or procedure may have side-effects on the actual argument as seen by the caller. The C language's "&" (address of) and "*" (dereference) operators allow the programmer to code explicit call-by-reference. Other languages provide special syntax to declare reference arguments (e.g. ALGOL 60).

See also call-by-name, call-by-value, call-by-value-result.

Last updated: 2006-05-27


(CBV) An evaluation strategy where arguments are evaluated before the function or procedure is entered. Only the values of the arguments are passed and changes to the arguments within the called procedure have no effect on the actual arguments as seen by the caller. See applicative order reduction, call-by-value-result, strict evaluation, call-by-name, lazy evaluation.


An argument passing convention where the actual argument is a variable V whose value is copied to a local variable L inside the called function or procedure. If the procedure modifies L, these changes will not affect V, which may also be in scope inside the procedure, until the procedure returns when the final value of L is copied to V. Under call-by-reference changes to L would affect V immediately. Used, for example, by BBC BASIC V on the Acorn Archimedes.



Call Data Record


(CDR) A data record that contains information related to a telephone call, including the origination and destination addresses of the call, the time the call started and ended, the duration of the call, the time of day the call was made, toll charges that were added through the network, or charges for operator services.


Last updated: 2010-03-21



The function or subroutine being called by the caller.

Last updated: 2001-05-09

Caller ID


(CID) A short piece of text transmitted by some telephone systems describing the origin of a call, e.g. the name of the caller. Some telephone handsets can display this. A computer telephony integration system might use it to trigger actions on the callee's computer such as looking up the caller in a database and displaying their details on screen.

There may also be a separate "caller id number" giving the telephone number of the originator of the call.

Last updated: 2008-04-30

calling convention


The arrangement of arguments for a procedure or function call. Different programming languages may require arguments to be pushed onto a stack or entered in registers in left-to-right or right-to left order, and either the caller or the callee can be responsible for removing the arguments. The calling convention also determines if a variable number of arguments is allowed.

Last updated: 1995-11-11

Call-Level Interface

<database, standard>

(SQL/CLI) A programming interface designed to support SQL access to databases from shrink-wrapped application programs.

CLI was originally created by a subcommittee of the SQL Access Group (SAG). The SAG/CLI specification was published as the Microsoft Open DataBase Connectivity (ODBC) specification in 1992. In 1993, SAG submitted the CLI to the ANSI and ISO SQL committees.

SQL/CLI provides an international standard implementation-independent CLI to access SQL databases. Client-server tools can easily access databases through dynamic link libraries. It supports and encourages a rich set of client-server tools.

SQL/CLI is an addendum to 1992 SQL standard (SQL-92). It was completed as ISO standard ISO/IEC 9075-3:1995 Information technology -- Database languages -- SQL -- Part 3: Call-Level Interface (SQL/CLI). The current SQL/CLI effort is adding support for SQL3.

Last updated: 1996-10-27

Call Unix

<communications, tool>

(cu) The original Unix virtual terminal utility. cu allows a user on one computer to log in to another connected via Ethernet, direct serial line or modem. It shares some configuration files with UUCP in order to be able to use the same connections without conflict.

Unix manual page: cu(1).

Last updated: 1997-12-01



The developers of Phonetastic.

Last updated: 1996-12-08



(call/cc) A Lisp control function that implements the continuation passing style of programming.

In continuation passing style (CPS), every function f takes an extra final argument k called the "continuation". The continuation is itself a function and represents the rest of the program. Instead of just returning a value in the normal way, f passes it as an argument to k and returns the result of that.

call/cc takes a function f as its argument and calls f, passing it the current continuation k. It thus allows a CPS function to be called in a non-CPS (direct) context.

For example, if the final result is to print the value returned by call/cc then anything passed to k will also be printed.

E.g, in Scheme:

 (define (f k)
  (k 1)
  (k 2)

 (display (call-with-current-continuation f))

Will display 1.

[Is this correct?]

Last updated: 2014-09-24

Nearby terms:

California State University San Marcoscallbackcall-by-name

Try this search on Wikipedia, OneLook, Google