No. 55 -- April 1, 1998



Contents


Book Sale

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

http://www.cs.arizona.edu/icon/ibsale.htm


Version 9.3.1 of Icon

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.


Windows Icon: Present and Future Tense

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.


Graphics Programming Book

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

http://www.cs.arizona.edu/icon/gb.htm

and

http://www.peer-to-peer.com/catalog/language/icong.html

The Icon Project will begin selling copies as soon as they are available. Check our Web site periodically for an announcement.


Help Wanted

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


Icon Documentation in Japanese

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


OS/2 Icon 9.3 with Graphics

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.


Handbook of Programming Languages

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.





© Copyright 1998 by Ralph E. Griswold, Madge T. Griswold, and Gregg M. Townsend. All rights reserved.



Icon Newsletter