[newsletter masthead]

[dragon masthead]

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