

We have acquired some copies of the book on the implementation of Icon at a substantial discount.
We are offering them while supplies last at more than 60% off the list price. This is your chance to get a classic reference on the implementation of a programming language.
For more information and ordering instructions, see
Version 9.3.1 of Icon has been released. Source code is available, as are executable binaries for Microsoft Windows and several UNIX platforms.
Version 9.3.1 is primarily a maintenance release. It contains one new feature, however: uniform handling of line terminators in text files. In this release, UNIX, Macintosh, and MS-DOS/Windows line terminators are recognized on all platforms. Consequently, text files created on one platform can be read by Icon programs on other platforms.
You can get Version 9.3.1 of Icon from our Web or FTP sites.
Editors' Note: The following material was contributed by Clint Jeffery.
Windows Icon Version 9.3.1 has been available for free downloading on the Internet for the past few months. This version corresponds to the Icon graphics book, whose release is imminent. After user requests and a lively discussion on the icon-group mailing list, the latest version of Windows Icon generates stand-alone executables (.exe files) by default. This format bundles a copy of the Icon interpreter (iconx) with the icode file for the program, adding around 200 KBytes for non-graphics programs and 300 KBytes for graphics programs. If an output file with a file extension of .bat or .cmd is specified, the icode is generated in the previous, smaller format that invokes an external copy of nticonx or wiconx.
At this point, it is worth taking a look at where Windows Icon is headed.
One answer is: It depends on what you do with it. The source code is available,
and we look forward to improvements, new features, and ports to other compilers.
Another answer is: It depends on where Icon as a whole is headed. Shamim
Mohamed's Unicon POSIX interface (visit
http://www.drones.com/unicon/) is
a tremendous addition to Icon, and it is desirable to add this facility
to Windows Icon in a way that preserves portability for Unicon's features,
such as easy directory access and high level network client/server programming.
A third answer is: I intend to consolidate and make portable some of the
extensions already introduced in Windows Icon. Several new Windows-specific
features such as a built-in multi-line text editor were described in a previous
Icon Newsletter. These features need to be available on all Icon platforms,
so that programs that use them will benefit all Icon users, not just Windows
Icon users.
We had hoped to be able to announce the availability of the book Graphics Programming in Icon in this Newsletter. We came close: The book is done and in the hands of the publisher. Publication in May is expected.
For more information about the book, check out
and
The Icon Project will begin selling copies as soon as they are available. Check our Web site periodically for an announcement.
We need a person (or persons) to port Version 9.3.1 of Icon with graphics to the Macintosh.
Icon is written in C. The job involves configuring the C code, writing Macintosh-specific graphics code, and providing a standard Macintosh interface.
The person or persons who do this must have:
The result must be placed in the public domain, free of any distribution restrictions.
If more than one person is involved, they must collaborate not compete.
The Icon Project will provide the source code and technical advice.
There is no financial remuneration for this job. The only rewards will be in completing a challenging project and the recognition and appreciation of the Icon programming community.
If you are interested, drop us a note:
icon-project@cs.arizona.edu
Hiroshi Shinohara has added a fourth part to his documentation of Icon in Japanese. It's available from our FTP site. Go to
/icon/contrib/japanese
Editors' Note: The following material was contributed by Clint Jeffery.
Henry Sobotka is nearing completion of an update of OS/2 Icon to Version 9.3 with graphics. His port uses Eberhard Mattes' EMX version of GCC, a widely used version of the free GNU C compiler for OS/2. The graphics facilities are an update of the original Presentation Manager code written for OS/2 Icon Version 8 by Darren Merrill. The execution model places the Icon interpreter in a dynamic link library using a technique contributed by Cheyenne Wills.
Here is a sample screen image for the gpxtest program in the Icon program library, running using Henry's OS/2 Icon graphics facilities.
Editors' Note: As mentioned in Icon Newsletter 53, Macmillan is publishing a multi-volume Handbook of Programming Languages. The project is nearing completion and publication is expected in May. The following information was adapted from their press release.
Handbook of Programming Languages: Peter Salus, Editor-in-Chief
The Handbook of Programming Languages is a multi-volume reference series for the professional computing community. Written by the foremost pioneers in their fields, this series provides a complete reference on the fundamentals of programming languages and methodologies. Each volume covers a complete overview of a set of languages or paradigms. Readers who have experience with at least one high-level programming language or methodology will be able to use each volume to get up to speed quickly on the other languages or paradigms covered in the volume.
Volume I: Object-Oriented Languages
This volume is a comprehensive source on object-oriented languages. It covers object-oriented languages from Smalltalk to Java. This definitive reference guide explains the history of each language, describes its syntax and semantics, gives how-to information and tips, and points out potential traps. Series Editor-in-Chief, Peter H. Salus, provides introductory material that will enable you to evaluate the best object-oriented language for your purposes and give you an understanding of how object-oriented languages are related to one another historically and syntactically. Volume I provides expert advice from the leaders in the field of object-oriented programming about the languages they helped to create. The authors provide insight on how the languages were created and how they have evolved, describing the ups and downs of collaborations, explaining the relationships with previously existent languages, and sharing information on why the languages are the way they are.
Adele Goldberg on Smalltalk
Bjarne Stroustrup on C++
Bertrand Meyer on Eiffel
James Gosling and his group at Sun on Java
Michael B. Feldman on Ada 95
Timothy A. Budd and Douglas C. Schmidt on object-oriented programming and design patterns
Volume II: Imperative Languages
This volume covers four important imperative languages: FORTRAN 95, C, Turbo Pascal, and Icon. FORTRAN was the first of the major programming languages; Walt Brainerd, has been active where FORTRAN 77, FORTRAN 90 and, now, FORTRAN 95 are concerned. This volume also features an essay on the history and development of C by its creator, Dennis Ritchie. Computing pioneer Ralph Griswold, the creator of Icon, has contributed a foundation for both the philosophy behind and the use of the language. Ron Cytron writes a unique essay on Intermediate Languages and Series Editor-in-Chief, Peter H. Salus, provides a foreword on the development of computer languages. The material about the languages themselves will enable the reader to evaluate which is most suitable for the task at hand.
Walt Brainerd on FORTRAN
Dennis Ritchie, creator of C
Steve Summitt's work on programming in C
Glenn Grotzinger on Turbo Pascal
Ralph Griswold, creator of Icon
Volume III: Little Languages
The notion of little languages was introduced by Jon Bentley in his discussion of Kernighan and Cherry's eqn a troff preprocessor for typesetting mathematics. Both papers are reprinted at the beginning of the Volume. They are followed by an essay by Paul Hudak on Domain Specific Languages. The remainder of the volume features languages and tools that every programmer needs to use.
troff and its pre-processors by Jaap Akkerhuis
AWK and sed by Arnold Robbins
SQL by David Klappholz
Tcl/Tk by Cameron Laird and Kathryn Soraiz
Perl by Hal Pomeranz
Python by Mark Lutz
Little Languages for Music by Peter S. Langston
Volume IV: Functional and Logic Languages
This volume begins with the logic programming group, all descended from John McCarthy's LISP of the late 1960s. It starts with a few pages from the LISP 1.5 Programmer's Manual, a vital token of things to come and moves on to LISP's offspring: LISP, Scheme, Guile, and CLOS. Finally, Jamie Andrews provides a substantial essay on the most important logic programming language, Prolog. The contributions are designed to enable the programmer to evaluate the languages and to understand the ways in which each works
Bob Chassell on Emacs LISP
Brian Harvey on Scheme
Jim Blandy on Guile
Jim Veitch on CLOS
Jamie Andrews on Prolog
About the Editor: Peter H. Salus is the author of A Quarter Century of UNIX (1994) and Casting the Net: From ARPANET to Internet and Beyond... (1995). He is an internationally recognized expert and has been the keynote speaker at Uniforum Canada, the UKUUG, the NLUUG, and the OTA (Belgium) in the past few years. He has been executive director of the USENIX Association and of the Sun User Group and vice president of the Free Software Foundation. He was the managing editor of Computing Systems (MIT Press) from 1987 to 1996. He writes on a variety of computing topics in a number of magazines. His Ph.D. in Linguistics (NYU, 1963) has led him from natural languages to computer languages.
![]()