![[newsletter masthead]](../inl_mast.gif)
![[dragon masthead]](../dragonc.gif)
No. 49 - April 1, 1996
Contents
New Editor for the Newsletter
We're pleased to welcome Gregg Townsend as an editor for the Icon Newsletter.
Gregg has been involved in all aspects of Icon for many years. Most recently,
he has been a major contributor the design, implementation, and documentation
of Icon's graphics facilities. He's also an editor for the Icon Analyst.
We're confident that future issues of the Newsletter will be better
as a result of his more active role in their preparation.
Icon Program Library
Library Reorganization
We are working on a reorganization of library procedures. Historically,
the Icon program library has grown rather haphazardly. New material often
has been added without consideration of similar material already in the
library. In the case of procedures, new files generally have been added
as received, rather than putting new procedures in existing files with similar
material. As a result, there are many files and it's difficult to find things.
Until Version 9 of Icon, all the procedures in a linked file were included
in the program that linked the file, even if some were not used by the program.
This discouraged combining similar procedures in a single file.
The Version 9 linker, on the other hand, only includes procedures that are
referenced, so there is no longer a motivation for having files with only
a few procedures. There are, however, still good reasons for having separate
procedure files, among them organization and ease of maintenance. It's just
that the compromise now favors fewer files with more procedures. We have,
therefore, reorganized files, combined procedures with related functionality,
and deleted some files.
As we do this, we're adding the comments necessary to include procedures
in the procedure keyword indexes. This will make it easier to find things.
New Library Release
Version 9.2 of the Icon program library now is available. It can be obtained
from our Web or FTP sites.
Subscriptions to Library Updates
Putting together a new release is a major job. Ordinarily, we only do it
every year or two. (The Version 9.2 release was an exception occasioned
by getting library documentation on the Web.)
On the other hand, we get new material for the library all the time. You
can keep up to date by subscribing to updates to the library, which are
issued about twice a year. Updates include all new material, so if you subscribe,
there's no need for you to download new library releases. Updates also include
material that may not be included in official releases.
See the information on the order form enclosed with this Newsletter.
Icon on the Web
Technical Reports
We're in the process of converting many of the technical reports on Icon,
called Icon project documents, to HTML so that they can be read on-line.
To see what's available, follow the link to Technical
Reports.
The technical report on Icon's graphics facilities may be of special interest.
From the technical report page, follow the link to IPD268.
Programming Corners
This Newsletter was established in 1979. For many years, the Newsletter included
a Programming Corner devoted to programming in Icon. In
recent years, the Icon Analyst has taken over that function.
Much of the material in the Programming Corners still is
relevant, so we've resurrected the articles and put them on the Web. From
the Icon home page, follow the link to Programming
Corner.
Icon Program Library
As part of our effort to make the Icon program library more accessible,
we've put it on the Web.
Under the Program Library section of the Icon home page,
link to Indexes. From there, you have a
variety of choices. You can view indexes by category, link to specific files,
view documentation and code, and, of course, get the code itself.
Odds and Ends
Over the years we've compiled some interesting textual data. Most of it
has little to do with Icon proper, but we're making it available on the
Web. From the Icon home page, follow the link to Odds
and Ends.
Icons Documentation Via FTP
We're working on adding more Icon documents to Icon's FTP area. Connect
to
ftp.cs.arizona.edu
and cd /icon/doc. In particular, we're converting more documents
to Adobe's portable document format. Look for files with the extension pdf.
Programming Languages Book
The second conference on the history of programming languages (HOPL-II)
was held in Cambridge, Massachusetts, April 20-23, 1993.
The languages covered included Ada, Algol 68, C, C++, Concurrent Pascal,
FORMAC, Forth, Icon, Lisp, Pascal, Prolog, and Smalltalk.
The papers submitted prior to the conference appeared in ACM SIGPLAN
Notices. A book containing the papers and related material now has
been published. We haven't seen the book yet, but here's the publication
information we received: History of Programming Languages, Thomas
J. Bergin and Richard G. Gibson, eds., ACM Press/Addison-Wesley Publishing
Company, 1996. ISBN 0-201-89502-1. $49.50. Members of the Association
for Computing Machinery qualify for a discount.
Some material from the conference that is not in the book, including the
final panel discussion, will appear in Communications of the ACM.
Graphics Programming Course
Last fall semester we offered an undergraduate course in graphics programming
for the second time. See Icon Newsletter 47
for a description of the first offering.
This course is based on the premise that graphics should be an integral
part of programming for displaying data and communicating with users. This
course is different from traditional computer graphics courses, which focus
on algorithms and photo-realistic rendering of three-dimensional images.
This time the facilities for students were considerably better than for
the first offering. The students started with drafts of the graphics book,
which had been extensively reworked as a result of the first course offering.
A few glitches in the design and implementation of graphics facilities had
been worked out, and support from the program library, including the visual
interface builder, was considerably better. Most important to the students,
the department's educational computing facilities were faster and more stable.
Despite this, several of the students chose to work at home, using Linux
on PCs.
The approach taken in the course was similar to that in the first offering,
although we got into visual interfaces sooner, spent more time on the principles
of visual interface design, and even had time for a lecture on the legal
aspects of software and graphics.
The course started with 11 students, considerably fewer than in the first
offering. This was due in large part to being scheduled opposite a computer
graphics course that had not been taught for a year. No student in our course
dropped.
As in the initial offering of this course, a major part of each student's
work was a project, selected and carried out individually.
There were three games (Mine Sweeper, Robot Tank Wars, and Rolling Balls),
two date book applications, two painting programs, a plotting program, a
plane symmetry laboratory, a mobile police terminal, and a two-dimensional
gravity simulator.
Our favorite project was the gravity simulator. Although it requires a very
fast platform to simulate a complicated system at an acceptable speed, it's
a lot of fun.
Images from the better projects are shown on the following pages. The image
for the gravity simulator resulted from firing a very large mass through
the center of the solar system.
Plotting Program by Jon Herron
Painting Program by Jason Gad
Police Mobile Terminal by Jonathan Tafoya
Gravity Simulator by Russell Bright
Robot Tank Wars by Yu Jin Thio
Mine Sweeper by Adel Al-ghamdi
Symmetry Laboratory by Jeffrey Miller
Painting Program by Muljadi Budiman

© Copyright 1996 by Ralph E. Griswold, Madge T. Griswold, and Gregg
M. Townsend. All rights reserved.
Icon Newsletter
Icon home page