Generic Array Logic

<hardware, integrated circuit>

(GAL) A newer kind of Programmable Array Logic based on EEPROM storage cells, been pioneered by Lattice. GALs can be erased and reprogrammed and usually replace a whole set of different PALs (hence the name).

Last updated: 1995-12-09

Generic Expert System Tool

<artificial intelligence>

(GEST) An expert system shell for Symbolics Lisp machine, with frames, forward chaining, backward chaining and fuzzy logic; written by John Gilmore(?) at GA Tech.

Last updated: 1995-04-16

generic identifier

<language, text>

A string constituting the name of a element in an SGML document.

Last updated: 2001-01-31



The possibility for a language to provided parameterised modules or types. E.g. List(of:Integer) or List(of:People).

Last updated: 1996-05-19

generic markup


In computerised document preparation, a method of adding information to the text indicating the logical components of a document, such as paragraphs, headers or footnotes. SGML is an example of such a system. Specific instructions for layout of the text on the page do not appear in the markup.

Last updated: 1996-05-19

generic programming


A programming technique which aims to make programs more adaptable by making them more general. Generic programs often embody non-traditional kinds of polymorphism; ordinary programs are obtained from them by suitably instantiating their parameters. In contrast with normal programs, the parameters of a generic programs are often quite rich in structure. For example they may be other programs, types or type constructors or even programming paradigms.

Last updated: 1997-11-22

Generic Routing Encapsulation

<networking, protocol>

(GRE) A protocol which allows an arbitrary network protocol A to be transmitted over any other arbitrary network protocol B, by encapsulating the packets of A within GRE packets, which in turn are contained within packets of B.

Defined in RFC 1701 and RFC 1702 (GRE over IP).

Last updated: 1998-07-19

Generic Security Service Application Programming Interface

<security, programming>

(GSS-API) An application level interface (API) to system security services. It provides a generic interface to services which may be provided by a variety of different security mechanisms. Vanilla GSS-API supports security contexts between two entities (known as "principals").

GSS-API is a draft internet standard which is being developed in the Common Authentication Technology Working Group (cat-wg) of the Internet Engineering Task Force (IETF).

Initial specifications for GSS-API appeared in RFC 1508 and RFC 1509. Subsequent revisions appeared in several draft standards documents.

Last updated: 1996-05-19

generic thunk


A software mechanism that allows a 16-bit Windows application to load and call a Win32 DLL under Windows NT and Windows 95.

See also flat thunk, universal thunk.

Last updated: 1999-04-05

generic type variable


(Or "schematic type variable") In typed programming languages, a generic type variable is a type variable that may be instantiated to different types in different occurrences in a type expression. Thus, in the expression

 let id x = x in
 (id True, id 1)

id's type is (for all a: a -> a). The universal quantifier "for all a:" means that a is a generic type variable. For the two uses of id, a is instantiated to Bool and Int. Compare this with

 let id x = x in
 let f g = (g True, g 1) in
 f id

This looks similar but f has no legal Hindley-Milner type. If we say

 f :: (a -> b) -> (b, b)

this would permit g's type to be any specific instance of (a -> b) rather than requiring it to be at least as general as (a -> b). Furthermore, it constrains both instances of g to have the same result type whereas they can not. The type variables a and b in the above are implicitly quantified at the top level:

 f :: for all a: for all b: (a -> b) -> (b, b)

so instantiating them (removing the quantifiers) can only be done once, at the top level. To correctly describe the type of f requires that they be locally quantified:

 f :: ((for all a: a) -> (for all b: b)) -> (c, d)

which means that each time g is applied, a and b may be instantiated differently. f's actual argument must have a type at least as general as ((for all a: a) -> (for all b: b)), and may not be some less general instance of this type. Type variables c and d are still implicitly quantified at the top level and, now that g's result type is a generic type variable, any types chosen for c and d are guaranteed to be instances of it.

This type for f does not express the fact that b only needs to be at least as general as the types c and d. For example, if c and d were both Bool then any function of type (for all a: a -> Bool) would be a suitable argument to f but it would not match the above type for f.

Last updated: 2017-12-13

Nearby terms:

generationGeneric Array LogicGeneric Expert System Toolgeneric identifier

Try this search on Wikipedia, OneLook, Google