X3J13
Encyclopedia
X3J13 is the name of a technical committee
Committee
A committee is a type of small deliberative assembly that is usually intended to remain subordinate to another, larger deliberative assembly—which when organized so that action on committee requires a vote by all its entitled members, is called the "Committee of the Whole"...

 which was part of INCITS
INCITS
The InterNational Committee for Information Technology Standards, or INCITS , is an ANSI-accredited forum of IT developers. It was formerly known as the X3 and NCITS....

 (known at the time as X3). The X3J13 committee was formed in 1986 to draw up an ANSI
Ansi
Ansi is a village in Kaarma Parish, Saare County, on the island of Saaremaa, Estonia....

 Common Lisp
Common Lisp
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...

 standard based on the first edition of the book Common Lisp the Language
Common Lisp the Language
Common Lisp the Language is an influential book by Guy L. Steele about Common Lisp.-Before standardization:The first edition served as the basis for the ANSI Common Lisp standard. It was written by Guy L. Steele, Jr., Scott Fahlman, Richard P. Gabriel, David A. Moon, and Daniel L...

(also known as "CLtL", or "CLtL1"), by Guy L. Steele, Jr.
Guy L. Steele, Jr.
Guy Lewis Steele Jr. , also known as "The Great Quux", and GLS , is an American computer scientist who has played an important role in designing and documenting several computer programming languages.-Biography:...

, which was previously a de facto
De facto
De facto is a Latin expression that means "concerning fact." In law, it often means "in practice but not necessarily ordained by law" or "in practice or actuality, but not officially established." It is commonly used in contrast to de jure when referring to matters of law, governance, or...

standard for the language. The primary output of X3J13 was an American National Standard for programming language Common Lisp
Common Lisp
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...

 (X3.226/1994), approved December 8, 1994. X3J13 later worked with ISO working group SC22/WG16
ISLISP
ISLISP is a programming language in the LISP family standardized by ISO working group ISO/IEC JTC 1/SC 22/WG 16 . The primary output of this working group was an International Standard, ISO/IEC 13816:1997, published by ISO. The standard was updated in 2007 and republished as ISO/IEC 13816:2007...

 on an internationally standardised dialect of Lisp named ISLISP
ISLISP
ISLISP is a programming language in the LISP family standardized by ISO working group ISO/IEC JTC 1/SC 22/WG 16 . The primary output of this working group was an International Standard, ISO/IEC 13816:1997, published by ISO. The standard was updated in 2007 and republished as ISO/IEC 13816:2007...

.

Organisation

The original chair of the committee was Doctor Robert Mathis of Ohio State University
Ohio State University
The Ohio State University, commonly referred to as Ohio State, is a public research university located in Columbus, Ohio. It was originally founded in 1870 as a land-grant university and is currently the third largest university campus in the United States...

, with Mary van Deusen as secretary. Guy L. Steele, Jr.
Guy L. Steele, Jr.
Guy Lewis Steele Jr. , also known as "The Great Quux", and GLS , is an American computer scientist who has played an important role in designing and documenting several computer programming languages.-Biography:...

 was originally the vice-chair. In later years, Mathis stepped down as chair and Steele assumed that role.

The efforts of the committee were guided by its charter
Charter
A charter is the grant of authority or rights, stating that the granter formally recognizes the prerogative of the recipient to exercise the rights specified...

, the successful creation of which is credited to the coordinating efforts of Susan P. Ennis, a representative of Amoco Production Company
Amoco
Amoco Corporation, originally Standard Oil Company , was a global chemical and oil company, founded in 1889 around a refinery located in Whiting, Indiana, United States....

. The charter lays out the committee's goals and priorities, as well as a broadly-defined list of some topics to be addressed.

Subcommittees

The committee formed several subcommittees to help its members better concentrate their efforts.

Cleanup subcommittee

The Cleanup Subcommittee, chaired by Larry Masinter, established a standardised format for the submission of proposals for voting. These issue writeups, while not themselves part of the standard, were deemed sufficiently useful for the Common Lisp HyperSpec
Common Lisp HyperSpec
The Common Lisp HyperSpec is a hypertext html document which is not the ANSI Common Lisp standard, but is based on it with permission from ANSI and X3. It is copyrighted by LispWorks Ltd...

 to include and cross-reference
Cross-reference
A cross-reference is an instance within a document which refers to related or synonymous information elsewhere, usually within the same work. To cross-reference or to cross-refer is to make such connections. The term "cross-reference" is often abbreviated as x-ref, xref, or, in computer science,...

 them for the benefit of readers, providing information about the original intent of the committee in its decisions. These writeups also serve as a historical record of those alternate solutions to problems which were, ultimately, not adopted.

Compiler subcommittee

Chaired by Sandra Loosemore, this subcommittee created proposals for issues relating to Lisp compilation. Guy Steele acknowledged in the second edition of Common Lisp the Language the large contribution of the Compiler Subcommittee toward clarifying the compilation process described in the first edition, parts of which Steele himself describes as "vague".

Iteration subcommittee

Jon L. White was the chair of the Iteration
Iteration
Iteration means the act of repeating a process usually with the aim of approaching a desired goal or target or result. Each repetition of the process is also called an "iteration," and the results of one iteration are used as the starting point for the next iteration.-Mathematics:Iteration in...

 Subcommittee. Among the issues dealt with by this subcommittee was the generalized LOOP macro — a domain-specific language to which the second edition of CLtL devoted an entire chapter. The "ALGOL
ALGOL
ALGOL is a family of imperative computer programming languages originally developed in the mid 1950s which greatly influenced many other languages and became the de facto way algorithms were described in textbooks and academic works for almost the next 30 years...

-like" syntax of this macro, differing from Lisp's more usual S-expression
S-expression
S-expressions or sexps are list-based data structures that represent semi-structured data. An S-expression may be a nested list of smaller S-expressions. S-expressions are probably best known for their use in the Lisp family of programming languages...

 syntax, was and remains somewhat controversial.

Character subcommittee

The Character Subcommittee, chaired by Thom Linden, had the task of defining how the standard would deal with the issues surrounding different character sets. The resolution of these matters — particularly the ability to use any character in the name of a symbol
Symbol (Lisp)
A symbol in computer programming is a primitive datatype whose instances have a unique human-readable form. Symbols can be used as identifiers. In some programming languages, they are called atoms....

 — was intended to make Common Lisp simpler for international users.

Error handling subcommittee

Chaired by Kent Pitman
Kent Pitman
Kent M. Pitman is the President of and has been involved for many years in the design, implementation and use of Lisp and Scheme systems. He is often better known by his initials KMP.Kent Pitman is the author of the Common Lisp Condition System...

, the Error Handling Subcommittee plugged what was described as "the biggest outstanding hole in Common Lisp" with the condition system, a general mechanism for handling errors
Exception handling
Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions, special conditions that change the normal flow of program execution....

, warnings, and other exceptional situations.

The committee referred to the resulting specifiction as a "condition system" rather than an "error system" in order to accommodate a single system for handling exceptional situations of various kinds, whether fatal or non-fatal, whether continuable or not, and whether the result of program error or mere resource limitation (such as stack overflow). Conditions are "signaled" at one point in the code and may be handled at another point. This usage of the term "signal" is different than the typical operating system's notion of signals
Signal (computing)
A signal is a limited form of inter-process communication used in Unix, Unix-like, and other POSIX-compliant operating systems. Essentially it is an asynchronous notification sent to a process in order to notify it of an event that occurred. When a signal is sent to a process, the operating system...

 (except on Lisp machine
Lisp machine
Lisp machines were general-purpose computers designed to efficiently run Lisp as their main software language. In a sense, they were the first commercial single-user workstations...

s where this variant usage of the term evolved); the operating system notion of signaling
Signal (computing)
A signal is a limited form of inter-process communication used in Unix, Unix-like, and other POSIX-compliant operating systems. Essentially it is an asynchronous notification sent to a process in order to notify it of an event that occurred. When a signal is sent to a process, the operating system...

 was out of scope for this committee, and consequently was not addressed in the ANSI Common Lisp standard. Asynchronous interrupts and IEEE floating point trapping was also out of scope for this committee's work and was not addressed in the standard.

Drafting subcommittee

Kathy Chapman was the chair for the Drafting Subcommittee, which was responsible for the drafting of the actual standard document. In addition, the subcommittee oversaw efforts to keep terminology
Terminology
Terminology is the study of terms and their use. Terms are words and compound words that in specific contexts are given specific meanings, meanings that may deviate from the meaning the same words have in other contexts and in everyday language. The discipline Terminology studies among other...

 consistent and accurate throughout the committee's activities.

Final document

The final standard produced by the X3J13 committee was published as American National Standard X3.226, and also in hypertext
Hypertext
Hypertext is text displayed on a computer or other electronic device with references to other text that the reader can immediately access, usually by a mouse click or keypress sequence. Apart from running text, hypertext may contain tables, images and other presentational devices. Hypertext is the...

 form as the Common Lisp HyperSpec
Common Lisp HyperSpec
The Common Lisp HyperSpec is a hypertext html document which is not the ANSI Common Lisp standard, but is based on it with permission from ANSI and X3. It is copyrighted by LispWorks Ltd...

.

Relation to "Common Lisp the Language"

The book Common Lisp the Language
Common Lisp the Language
Common Lisp the Language is an influential book by Guy L. Steele about Common Lisp.-Before standardization:The first edition served as the basis for the ANSI Common Lisp standard. It was written by Guy L. Steele, Jr., Scott Fahlman, Richard P. Gabriel, David A. Moon, and Daniel L...

, although mostly authored by Guy L. Steele, Jr.
Guy L. Steele, Jr.
Guy Lewis Steele Jr. , also known as "The Great Quux", and GLS , is an American computer scientist who has played an important role in designing and documenting several computer programming languages.-Biography:...

, was the product of an ad hoc committee that had formed around 1980 and had worked collaboratively to produce the original de facto standard for Common Lisp
Common Lisp
Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...

 prior to the formation of X3J13. X3J13 began its work with Common Lisp the Language as a base document and proceeded from there in the design of what would become ANSI Common Lisp. Steele himself served on the committee and gave them permission to use any or all parts of its first edition in their efforts.

Documents published by X3J13 were later used, together with quotation
Quotation
A quotation or quote is the repetition of one expression as part of another one, particularly when the quoted expression is well-known or explicitly attributed by citation to its original source, and it is indicated by quotation marks.A quotation can also refer to the repeated use of units of any...

s from certain committee members, in the production of the Second Edition, which was released in 1990, allowing the Common Lisp community a way to preview many features that were expected to appear in the committee's final standard document. The Second Edition of Common Lisp the Language bears similarity to the standard in content, though not in form. However, substantive changes were made, in the form of both additions and deletions, between the publication of the book and the final draft of the ANSI
Ansi
Ansi is a village in Kaarma Parish, Saare County, on the island of Saaremaa, Estonia....

 standard.

In sum, the original edition of Common Lisp the Language was the document upon which X3J13 originally based its work. The Second Edition, by contrast, was Steele's personal work, not a committee product and had no official status within X3J13 or ANSI. As acknowledged in the Second Edition preface, it was not authorized by X3J13, the choice of content as a snapshot of the work in progress was not formally synchronized with X3J13, and the final version was not reviewed or approved by X3J13.

See also

  • Common Lisp
    Common Lisp
    Common Lisp, commonly abbreviated CL, is a dialect of the Lisp programming language, published in ANSI standard document ANSI INCITS 226-1994 , . From the ANSI Common Lisp standard the Common Lisp HyperSpec has been derived for use with web browsers...

  • ANSI
    Ansi
    Ansi is a village in Kaarma Parish, Saare County, on the island of Saaremaa, Estonia....

  • INCITS
    INCITS
    The InterNational Committee for Information Technology Standards, or INCITS , is an ANSI-accredited forum of IT developers. It was formerly known as the X3 and NCITS....

     (formerly known as X3), X3J13's parent body
  • Common Lisp the Language
    Common Lisp the Language
    Common Lisp the Language is an influential book by Guy L. Steele about Common Lisp.-Before standardization:The first edition served as the basis for the ANSI Common Lisp standard. It was written by Guy L. Steele, Jr., Scott Fahlman, Richard P. Gabriel, David A. Moon, and Daniel L...

     - Guy L. Steele, Jr.
    Guy L. Steele, Jr.
    Guy Lewis Steele Jr. , also known as "The Great Quux", and GLS , is an American computer scientist who has played an important role in designing and documenting several computer programming languages.-Biography:...

    's book
  • Common Lisp HyperSpec
    Common Lisp HyperSpec
    The Common Lisp HyperSpec is a hypertext html document which is not the ANSI Common Lisp standard, but is based on it with permission from ANSI and X3. It is copyrighted by LispWorks Ltd...

     - the hypertext
    Hypertext
    Hypertext is text displayed on a computer or other electronic device with references to other text that the reader can immediately access, usually by a mouse click or keypress sequence. Apart from running text, hypertext may contain tables, images and other presentational devices. Hypertext is the...

    version of the standard

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK