IPD206 – 1 – December 28, 1992 Ment of a Visual Programming Environment for Icon
Total Page:16
File Type:pdf, Size:1020Kb
Third Workshop on the Icon Programming Language September 10-11, 1992 La Jolla, California Ralph E. Griswold and Madge T. Griswold The University of Arizona and The Bright Forest Company Icon workshops provide an opportunity with a mixture of presentations and discus- for persons with an involvement in Icon to sion. meet and discuss their mutual interests. Thursday Morning, September 10 The first two workshops were held in Flagstaff, Arizona in 1988 and 1990. The Bill Griswold opened the first session third workshop was held on September 10-11, with a welcome, after which the persons 1992, in La Jolla, California. The workshop attending was sponsored by the Department of Com- introduced puter Science and Engineering of the themselves University of California, San Diego. Bill and described Griswold served as local host. their interests. Fifteen persons attended this workshop. Ralph Those who arrived early met on the evening Griswold followed with a report on the state of the Icon Project. He summa- Alan Beale rized the situation with respect to Icon as it existed two years ago, at the time of the last workshop: Version 8.0 of Icon had been released; X- Icon, a multi-thread version of Icon (MT Icon), and the optimizing compiler were in progress; program visualization tools were planned and a visual programming environ- ment was proposed. Next he described the present situation: the compiler and interpreter run-time systems Bob Alexander have been combined and released, along with of September 9 to discuss the agenda. Full- X-Icon, for UNIX and VMS; MT Icon and day meetings took place on September 10 and event-monitoring instrumentation is working; 11. The workshop atmosphere was informal, an X-Icon toolkit and interface builder are working; X-Icon for OS/2 has been devel- IPD206 – 1 – December 28, 1992 ment of a visual programming environment for Icon. Discussion following the presentation covered the grant funding situation, the general problem with financial support for Icon, and future prospects. Next Ken Walker described the new optimizing compiler for Icon. Among goals, he listed optimizations to eliminate unneces- sary run-time type checking, placing operations in line, static allocation of tempo- rary variables, portability, language extensibility, support for the complete Icon David Cargo oped; a framework for program visualization is in place and some visualization tools have been written. He then described the status of the implementation for various platforms and the present state of distribution. He listed the goals of the Icon Project as bringing the implementation of Icon for all platforms up to date, releasing the compiler for 32-bit MS- DOS platforms, releasing MT Icon and the X-Icon toolkit and interface builder, and continuing work on program visualization. Among other possibilities, he mentioned Bob Goldberg implementations of X-Icon for other plat- forms, the extension of X-Icon facilities, language, and a production-quality implemen- refinements to the compiler, and the develop- tation. He described how the compiler is orga- nized, its database of run-time information, how this information is obtained from code for the run-time system, and the processes of building the compiler and running it. He then gave figures for the resources required to run the compiler and provided timings comparing the compiler to the interpreter. Ken also showed how Icon programs could be cross compiled, and what was involved in building the interpreter with the new run-time system. He concluded with a status report, describing what the compiler can do and on what plat- Bill Griswold forms it presently is implemented. December 28, 1992 – 2 – IPD206 The morning session ended with a pre- Gregg Townsend and Bob Alexander. sentation on X-Icon by Gregg Townsend. He Ken then continued his presentation of gave an overview of X-Icon, its Xlib interface, the Icon compiler with a description of RTL, how windows are the language in which the Icon run-time created and system is now written. He explained that the managed, display motivation for RTL is to provide the informa- functions, at- tion the compiler needs about run-time tributes associated operations. RTL, an extension of C, is de- with windows, signed so that this information can be graphic contexts, extracted automatically while RTL is being input functions, translated into C code that is used to build the and event key- run-time system. words. Ken described the mechanisms RTL Next he provides for expressing Icon type conversion described X-Icon and abstract type computations. He showed Madge Griswold extensions to the examples of writing a built-in function and an basic X model: operator in RTL. He then described the type retained windows, terminal emulation, and the specification color model. He listed features of X that are system, which not supported by X-Icon, including allows new subwindows, image synthesis, and numerous types to be small matters. Among X-Icon applications to added to Icon. date, he listed Following visualization his talk on RTL, tools, an inter- Ken gave an face builder, an overview of editor, and ISIcon: its new several applica- built-in func- tions done as tions, projects in a module-level string and list scoping, func- Ralph Griswold processing class. tion tracing, and He noted enhanced diagnostics. He also described that X-Icon is variants of ISIcon: ISIcon/SI, which has included in character windowing features for UNIX/ Version 8.7 of terminfo and ISIcon/VOICE, which has Clint Jeffery Icon for UNIX features for voice processing. and VMS and After a mid-afternoon break, Kelvin that an OS/2 port is in progress. Gregg closed Nilsen described his plans for an Icon dialect with ideas for future extensions. for instruction, based on Kamin’s text for an Thursday Afternoon, September 10 interpreter-based approach to teaching pro- gramming languages. The text presents The Thursday afternoon session began programming language concepts by simpli- with a demonstration of X-Icon programs by fied dialects cast in Lisp syntax. Students IPD206 – 3 – December 28, 1992 write programs in each language. Kelvin motivation of explained how the use of a common simpli- the new fied syntax enables students to experiment sortf() func- with different features and compare different tion. A languages without having to learn their discussion of syntaxes. sorting fol- Kelvin listed the features of Icon that lowed, with might be emphasized in such a context and Bob what the objectives should be. There was Alexander discussion about what should and should not pointing out Nevin Liber be included in such a subset of Icon and how that there was effective such an approach might be. a generalized sorting procedure in the program The afternoon session ended with a brief library. description Steve Stone asked if “catch” and “throw” of MT Icon could be done in Icon and Steve Wampler said by Clint that additional mechanisms would needed for Jeffery. He these. described Bob Alexander next presented a number the multi- of suggestions for new language features, thread model including a way of getting a record field of execution, number from its name, new sorting features, its general an encapsulation mechanism similar to characteris- ISIcon’s modules, as well as several other tics, how ideas. multiple Following the discussion, Clint made a Kelvin Nilsen programs are presentation on the instrumentation and loaded and monitoring facilities that had been added to executed under a single invocation of the Icon MT Icon. He noted that the term multi-thread interpreter, and what can be done with MT was inaccurate, as Steve Stone had discussed Icon. with him and that a better term was needed. He explained the motivation for producing Friday Morning, September 11 information about program execution that The second day of the workshop started could be used with a general discussion of language issues. by monitors: Bob Goldberg raised the issue of adding a debugging, preprocessor to Icon, even if it only had the performance capability for including files and defining tuning, educa- constants. Ralph pointed out that there was a tion, and stand-alone preprocessor in the Icon program generally library. This led to discussion of the library, getting a better concern that it was generally under-utilized, understanding and what could be done to make it more of program accessible. behavior. With David Cargo then asked about the the features Jon Pearkins December 28, 1992 – 4 – IPD206 added to MT Icon, monitors can be written in Icon itself, and they can get direct access to the program being monitored. He mentioned the problems with monitoring and described approaches to their solution. Following a mid-morning break, Ralph described work that had been done in program visualization using execution monitors that present their results in the form of images. He mentioned the earlier memory-monitoring system written by Gregg, more recent use of visual metaphors for displaying storage allocation information, fish-eye views and other techniques for presenting information in Steve Stone a small amount of screen space, and monitors that can provide different views of the same Friday Afternoon, September 11 program activity. He concluded by describing Eve, an execu- Following lunch, Ralph demonstrated tion monitor some of the program visualization monitors coordinator and the X-Icon interface builder. written by Clint After the demonstration, there was a to allow several general discussion of implementation issues. monitors to Storage allocation was discussed and Clint operate on the described the techniques used in managing same program at multiple storage regions. Bob Alexander the same time. asked about the possibility of dynamically Ralph then linked functions. Steve Stone asked about the described the X- possibility of a feature for saving large struc- Icon tool kit tures for use in a later program execution.