4.3BSD/usr/contrib/icon/docs/tr84-12

.so tmac.tr
.DA "August 16, 1984"
.TR 84-12
.Gr
.TL
The Icon Program Library; Version 5.9
.AU
Compiled by Ralph E. Griswold
.AE
.tr *\(**
.LP
.af PN i
.LP
.ce 1
\f3Preface\fR
.sp
.PP
The Icon program library consists of Icon programs, procedures, C
functions, and support material.
The library is distributed as part of the Version 5.9 Icon system [1-4].
.PP
The format of the library mimics the \*U Programmer's Manual [5].
.Un
Section 1 contains application programs. Section 2 contains
collections of Icon procedures.
C functions, which can be used to augment the repertoire of built-in Icon functions,
are contained in Section 3.
Sections 4 and 5 are reserved for future use. Section 6 contains
demonstration programs and games. Section 7 contains
miscellaneous material, while Icon program library maintenance information
is included in Section 8. See the table of contents for details.
.NH 1
Using the Library
.PP
See \fIi-hier(7)\fR for the structure of the Icon system.
The program material in the library is
divided into three components.
Two of the components consists of Icon source code. The third consists
of C source code.
The prefix \fIi-\fR is used to identif programs in the library that are
related to Icon program development.
Some procedures in the Icon program library depend on the inclusion of
optional extensions to Icon [4] or on particular UNIX environments. Such
dependencies are note in the \fIREQUIREMENTS\fR sections of the manual
pages.
.SH
Application Programs and Games
.PP
The programs in Sections 1 and 6 are on a par with programs in the
corresponding sections of the UNIX manual.
The fact that the programs
in the Icon library are written in Icon is irrelevant to the user;
Icon application programs and games can be moved to a local
library without modification.
.SH
Procedures
.PP
The procedures in Section 2 can be linked into an Icon program in
two ways: by specifying them with their \*M.u1\fR suffix on
the \fIicont(1)\fR command line when the program is translated [6],
or by including an appropriate link directive in the program itself [3].
See the library manual page for \fIi-hier(7)\fR for the path that is needed.
.PP
Some procedures have global symbols in addition to the procedures names
themselves. There is, therefore, the possibility of collisions between
names in user programs and names in the library procedures.
.SH
C Functions
.PP
C functions can be added to the built-in repertoire of Icon by building
a personalized interpreter [7]. Alternatively, they can be incorporated
into Icon directly [8].
Some of the C functions require the loading of libraries. Check the
library manual pages on specific functions.
.NH
The UNIX Manual Versus the Library Manual
.PP
Library manual pages, as included in this report, are slightly
different from UNIX manual pages in their head and foot formats.
See \fIlman(8)\fR for the production of such manual pages.
Library manual pages with head and foot formats in the style of
the UNIX manual can be obtained as described in \fIuman(8)\fR.
.PP
Reference to manual pages that are not in the library, such as \fIed(1)\fR,
apply to the UNIX manual.
.NH
Bug Reports and Submissions of New Material
.PP
Bug reports
should be mailed to
.DS
.ft R
Icon Project
Department of Computer Science
The University of Arizona
Tucson, Arizona   85721
U.S.A.
.DE
or send electronic mail to
.Nt
.PP
New material for the library is welcome, although the final decision on inclusion
in the Icon library is at the discretion of the Icon Project. Submissions should
be sent in machine-readable form,
including  documentation, either on \fItar\fR-format magnetic
tape or via electronic mail.
.SH
Acknowledgements
.PP
Several persons have contributed material to the Icon program
library, as noted by the attributions on the manual pages.
In order to make program material easier to read, contributions
have been reformatted to provide a degree of uniformity. Program
layout therefore does not necessarily reflect the author's preference.
.PP
In addition to contributing material to the library, Tom Hicks, Bill
Mitchell, and Steve Wampler have made numerous helpful suggestions
about the library and its documentation.
.SH
References
.IP 1.
Griswold, Ralph E. and Madge T. Griswold. \fIThe Icon Programming
Language\fR. Prentice-Hall, Inc., Englewood Cliffs, New Jersey.
1983.
.IP 2.
Griswold, Ralph E., Robert K. McConeghy, and William H. Mitchell.
\fIVersion 5.9 of Icon\fR.
Technical report, Department of Computer Science, The University of
Arizona. August 1984.
.IP 3.
Griswold, Ralph E., Robert K. McConeghy, and William H. Mitchell.
\fIExtensions to Version 5 of the Icon Programming Language\fR.
Technical Report TR 84-10a, Department of Computer Science, The
University of Arizona. August 1984.
.IP 4.
Griswold, Ralph E. and William H. Mitchell.
\fIInstallation and Maintenance Guide for Version 5.9 of Icon\fR.
Technical Report TR 84-13, Department of Computer Science, The
University of Arizona, Tucson, Arizona. August 1984.
.IP 5.
\fIUNIX Programmer's Manual; Seventh Edition, Volume 1\fR. Bell Laboratories,
Murray Hill, New Jersey. 1979.
.IP 6.
Griswold, Ralph E. and William H. Mitchell. \fIICONT(1)\fR,
manual page for \fIUNIX Programmer's Manual\fR, Department of
Computer Science, The University of Arizona. August 1984.
.IP 7.
Griswold, Ralph E., Robert K. McConeghy, and William H. Mitchell.
\fIPersonalized Interpreters for Icon\fR. Technical Report TR 84-14,
Department of Computer Science, The University of Arizona. August 1984.
.IP 8.
Griswold, Ralph E., Robert K. McConeghy, and William H. Mitchell.
\fIA Tour Through the C Implementation of Icon; Version 5.9\fR.
Technical Report TR 84-11, Department of Computer Science,
The University of Arizona. August 1984.