1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207
|
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<META NAME=viewport CONTENT="width=device-width, initial-scale=1">
<TITLE> Icon Documentation Guide </TITLE>
<LINK REL="STYLESHEET" TYPE="text/css" HREF="istyle.css">
<LINK REL="SHORTCUT ICON" HREF="shortcut.gif">
</HEAD>
<BODY>
<P><A HREF="http://www.cs.arizona.edu/icon/"> <IMG SRC="wwwcube.gif"
ALT="[Icon home]" WIDTH=128 HEIGHT=144 BORDER=0 ALIGN=RIGHT> </A>
<H1> Icon Documentation Guide </H1>
<P> Gregg M. Townsend
<BR> <SMALL> Department of Computer Science </SMALL>
<BR> <SMALL> The University of Arizona </SMALL>
<P> <SMALL> www.cs.arizona.edu/icon/uguide/index.htm
<BR> Last updated June 3, 2013</SMALL>
<H2> Introduction </H2>
<P> Icon is distributed with a small set of documentation pages:
<UL>
<LI> This documentation guide
<LI> The <A href="icon.txt"><CODE>icon</CODE></A>
and <A href="icont.txt"><CODE>icont</CODE></A> commands
<LI> <A HREF=relnotes.htm> Release notes</A>
<LI> <A HREF=macintosh.htm> Icon on Macintosh</A>
<LI> <A HREF=cygwin.htm> Icon on Cygwin</A>
<LI> <A HREF=faq.htm> Frequently asked questions</A>
<LI> <A HREF=install.htm> Installation instructions</A> (for binary releases)
<LI> <A HREF=build.htm> Build instructions</A> (for source releases)
<LI> <A HREF=files.htm> File organization</A>
<LI> <A HREF=port.htm> Porting instructions</A>
<LI> <A HREF=cfuncs.htm> Loading C functions dynamically</A>
<LI> <A HREF=extlvals.htm> External values</A>
</UL>
<P> This guide provides an overview of additional available information.
Documents designated with IPD numbers are Icon Project Documents
found at the Icon web site,
<A HREF="http://www.cs.arizona.edu/icon/">www.cs.arizona.edu/icon</A>.
<H2> Basic Documentation </H2>
<P> The command-line interface to Icon is described by <CITE>man</CITE> pages.
The <A HREF="icon.txt"><CODE>icon</CODE></A> command executes a program
from a single source file and supports script usage.
The more general <A HREF="icont.txt"><CODE>icont</CODE></A> command,
modeled after <CITE>cc</CITE>,
supports multiple files, separate compilation, and other features.
<P>
The Icon language is defined by
<BLOCKQUOTE>
<IMG SRC="lb80.jpg" ALT="[cover]" WIDTH=60 HEIGHT=80 ALIGN=LEFT>
<CITE> The Icon Programming Language, Third Edition </CITE>
<BR> Ralph E. Griswold and Madge T. Griswold
<BR> Peer-to-Peer Communications, 1996, out of print
<BR> ISBN 1-57398-001-3
<BR> Downloadable from
<A HREF="http://www.cs.arizona.edu/icon/books.htm">
www.cs.arizona.edu/icon/books.htm</A>
<BR CLEAR=ALL>
</BLOCKQUOTE>
<P> Some introductory material can be found on the web:
<UL>
<LI> Ralph Griswold's overview:
<A HREF="http://www.cs.arizona.edu/icon/docs/ipd266.htm">
www.cs.arizona.edu/icon/docs/ipd266.htm</A>
<LI> Dave Hanson's introduction:
<A HREF="http://www.cs.arizona.edu/icon/intro.htm">
www.cs.arizona.edu/icon/intro.htm</A>
<LI> Bill Mitchell's introduction and slides:
<A HREF="http://www.mitchellsoftwareengineering.com/icon/">
www.mitchellsoftwareengineering.com/icon</A>
<LI> John Shipman's tutorial:
<A HREF="http://www.nmt.edu/tcc/help/lang/icon/">
www.nmt.edu/tcc/help/lang/icon</A>
</UL>
<P>
The <CITE>Icon Programming Language Handbook</CITE>,
by Thomas W. Christopher, is available on the web at
<A HREF="http://www.tools-of-computing.com/tc/CS/iconprog.pdf">
www.tools-of-computing.com/tc/CS/iconprog.pdf</A>.
The second edition of <CITE>Icon Programming for Humanists</CITE>,
by Alan Corré, is available from
<A HREF="http://unicon.org/books/">unicon.org/books</A>.
<H2> Graphics </H2>
<P>
Icon's graphics facilities are defined by
<BLOCKQUOTE>
<IMG SRC="gb80.jpg" ALT="[cover]" WIDTH=60 HEIGHT=80 ALIGN=LEFT>
<CITE> Graphics Programming in Icon </CITE>
<BR> Ralph E. Griswold, Clinton L. Jeffery, and Gregg M. Townsend
<BR> Peer-to-Peer Communications, 1998, out of print
<BR> ISBN 1-57398-009-9
<BR> Downloadable from
<A HREF="http://www.cs.arizona.edu/icon/books.htm">
www.cs.arizona.edu/icon/books.htm</A>
<BR CLEAR=ALL>
</BLOCKQUOTE>
<P> Two older reports present an overview of Icon's graphics:
<UL>
<LI> IPD281, Graphics facilities for Icon,
<A HREF="http://www.cs.arizona.edu/icon/docs/ipd281.htm">
www.cs.arizona.edu/icon/docs/ipd281.htm</A>
<LI> IPD284, Visual interfaces for Icon programs,
<A HREF="http://www.cs.arizona.edu/icon/docs/ipd284.htm">
www.cs.arizona.edu/icon/docs/ipd284.htm</A>
</UL>
<H2> Recent feature additions </H2>
<P> A few minor features have been added since the publication
of the Icon books:
<UL>
<LI> Execution profiling
<LI> Scriptable source files
<LI> Path searching improvements
<LI> Reading directory contents
<LI> Reading foreign text files
<LI> <A HREF="extlvals.htm">External values</A>
</UL>
These features are more fully described in the
<A HREF=relnotes.htm>release notes</A>.
<H2> Program Library </H2>
<P> Program library documentation is contained within the source code.
Extracted documentation is available at
<A HREF="http://www.cs.arizona.edu/icon/library/ipl.htm">
www.cs.arizona.edu/icon/library/ipl.htm</A>.
<H2> Icon Internals </H2>
<P> Icon's internals are detailed in
<BLOCKQUOTE>
<IMG SRC="ib80.jpg" ALT="[cover]" WIDTH=55 HEIGHT=80 ALIGN=LEFT>
<CITE>The Implementation of the Icon Programming Language</CITE>
<BR> Ralph E. Griswold and Madge T. Griswold
<BR> Princeton University Press, 1986, out of print
<BR> ISBN 0-691-08431-9
<BR> Downloadable from
<A HREF="http://www.cs.arizona.edu/icon/books.htm">
www.cs.arizona.edu/icon/books.htm</A>
<BR CLEAR=ALL>
</BLOCKQUOTE>
Although considerable changes have occurred since Version 6,
described in the book, the basic structure is the same.
Two technical reports describe subsequent changes:
<UL>
<LI>IPD112, Supplementary Information for Version 8,
<A HREF="http://www.cs.arizona.edu/icon/docs/ipd112.htm">
http://www.cs.arizona.edu/icon/docs/ipd112.htm</A>
<LI>IPD239, Supplementary Information for Version 9,
<A HREF="http://www.cs.arizona.edu/icon/docs/ipd239.htm">
http://www.cs.arizona.edu/icon/docs/ipd239.htm</A>
</UL>
<P> Icon's run-time implementation language is described in IPD261,
<A HREF="http://www.cs.arizona.edu/icon/ftp/doc/ipd261.pdf">
www.cs.arizona.edu/icon/ftp/doc/ipd261.pdf</A> (PDF).
<H2> Technical Reports </H2>
<P> The Icon web site provides a large number of technical reports,
including "Icon Project Documents" designated by IPD numbers.
The index is found at
<A HREF="http://www.cs.arizona.edu/icon/docs/docs.htm">
www.cs.arizona.edu/icon/docs/docs.htm</A>.
<P> Most of these reports are historical and
many describe past research experiments.
The reports cited above are among the most current,
although they may not be completely correct with respect
to Version 9.5.
<H2> Other Sources </H2>
<P> Other sources of documentation can be found in the
<A HREF="faq.htm"> Icon FAQ </A> and on the Icon web site,
<A HREF="http://www.cs.arizona.edu/icon/">
www.cs.arizona.edu/icon</A>.
<HR>
</BODY>
</HTML>
|