Demo Data from VLDB 2026 / reviewers in the wild / expert
Ralph E. Griswold
dblp:30/2602
· DBLP profile ↗
26ranked-venue papers
14as first author
0since 2021 · last 1995
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 18 · 8 first-authorApplied, interdisciplinary, general and emerging computing · 6 · 4 first-authorSystems, architecture and hardware · 1 · 1 first-authorHuman-computer interaction and ubiquitous computing · 1 · 1 first-author
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
8 papers |
Programming languages and type systems · 59% Runtime systems and virtual machines · 20% Program analysis · 9% | |
| Computer graphics and multimedia
1 paper |
Visualization and visual analytics · 100% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Performance modeling and evaluation · 100% |
Topics — the 10 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Programming languages and type systems › evaluation strategies
goal-directed evaluation |
0.0 | 3 | 1982 | The Evaluation of Expressions in Icon · ACM Trans. Program. Lang. Syst. 1982 Generators in Icon · ACM Trans. Program. Lang. Syst. 1981 An Alternative to the Use of Patterns in String Processing · ACM Trans. Program. Lang. Syst. 1980 |
Runtime systems and virtual machines
interpreter |
0.0 | 1 | 1987 | A recursive interpreter for the Icon programming language · PLDI 1987 |
Visualization and visual analytics › software visualization
program behavior visualization |
0.0 | 1 | 1994 | Nova: Low-Cost Data Animation Using a Radar-Sweep Metaphor · ACM Symposium on User Interface Software and Technology 1994 |
Program analysis › dynamic analysis
profiling |
0.0 | 1 | 1983 | Measuring the Performance and Behavior of Icon Programs · IEEE Trans. Software Eng. 1983 |
Programming languages and type systems
language design |
0.0 | 4 | 1982 | Procedure Referencing Environments in SL5 · POPL 1976 The Evaluation of Expressions in Icon · ACM Trans. Program. Lang. Syst. 1982 An Alternative to the Use of Patterns in String Processing · ACM Trans. Program. Lang. Syst. 1980 |
Compilers and program optimization
expression evaluation |
0.0 | 1 | 1982 | The Evaluation of Expressions in Icon · ACM Trans. Program. Lang. Syst. 1982 |
Runtime systems and virtual machines
garbage collection |
0.0 | 1 | 1978 | Performance of Storage Management in an Implementation of SNOBOL4 · IEEE Trans. Software Eng. 1978 |
Operating systems › resource management
storage management |
0.0 | 1 | 1978 | Performance of Storage Management in an Implementation of SNOBOL4 · IEEE Trans. Software Eng. 1978 |
Programming languages and type systems › control structures
pattern matching |
0.0 | 3 | 1980 | An Alternative to the Use of Patterns in String Processing · ACM Trans. Program. Lang. Syst. 1980 Procedure Referencing Environments in SL5 · POPL 1976 SNOBOL, A String Manipulation Language · J. ACM 1964 |
Programming languages and type systems
language implementation |
0.0 | 1 | 1978 | Performance of Storage Management in an Implementation of SNOBOL4 · IEEE Trans. Software Eng. 1978 |
Methods — techniques the papers use, named apart from their topics
radar-sweep metaphor · 0.0profiling · 0.0performance measurement · 0.0virtual machine · 0.0stack-based architecture · 0.0measurement · 0.0instrumentation · 0.0executable formalism · 0.0comparison study · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 1995 | Adding Graphics to a High-level Programming LanguageabstractAbstract When graphics input/output capabilities are added to a programming language originally designed with a text stream input/output model, various design decisions affect the ease with which the graphics facilities are learned and used by applications programmers. In adding window system facilities to the Icon programming language, some design decisions were made very differently from the conventional wisdom, resulting in substantial benefits for programmers. In addition, some pre‐existing Icon language features have proved to be useful in graphics programming. Clinton L. Jeffery, Ralph E. Griswold, Gregg M. Townsend |
Softw. Pract. Exp. | 2 |
| 1994 | Nova: Low-Cost Data Animation Using a Radar-Sweep MetaphorabstractNova is a simple technique for animating a data sequence whose elements include a primary numeric component and possibly one or more secondary dimensions. We use nova to visualize program behavior such as individual memory allocations, where the number of bytes in each allocation is a natural primary numeric dimension. Ralph E. Griswold, Clinton L. Jeffery |
ACM Symposium on User Interface Software and Technology | 1 |
| 1994 | A Framework for Execution Monitoring in IconabstractAbstract Execution monitors are widely used during software development for tasks that require an understanding of program behavior, such as debugging and profiling. The Icon programming language has been enhanced with a framework that supports execution monitoring. Under the enhanced translator and interpreter, neither source modification nor any special compiler command‐line option is required in order to monitor an Icon program. Execution monitors are written in the source language, instead of the implementation language. Performance, portability, and detailed access to the monitored program's state are achieved using a coroutine model and dynamic loading rather than the separate‐process model employed by many conventional monitoring systems. Clinton L. Jeffery, Ralph E. Griswold |
Softw. Pract. Exp. | 2 |
| 1993 | An Operational Semantics for Icon: Implementation of a Procedural Goal-Directed Language
Janalee O'Bagy, Kenneth Walker, Ralph E. Griswold |
Comput. Lang. | 3 |
| 1992 | An Optimizing Compiler for the Icon Programming LanguageabstractAbstract Compiling code for the Icon programming language presents several challenges, particularly in dealing with types and goal‐directed expression evaluation. In order to produce optimized code, it is necessary for the compiler to know much more about operations than is necessary for the compilation of most programming languages. This paper describes the organization of the Icon compiler and the way it acquires and maintains information about operations. The Icon compiler generates C code, which makes it portable to a wide variety of platforms and also allows the use of existing C compilers for performing routine optimizations on the final code. A specially designed implementation language, which is a superset of C, is used for writing Icon's run‐time system. This language allows the inclusion of information about the abstract semantics of Icon operations and their type‐checking and conversion requirements. A translator converts code written in the run‐time language to C code to provide an object library for linking with the code produced by the Icon compiler. The translation process also automatically produces a database that contains the information the Icon compiler needs to generate and optimize code. This approach allows easy extension of Icon's computational repertoire, alternate computational extensions, and cross compilation. Kenneth Walker, Ralph E. Griswold |
Softw. Pract. Exp. | 2 |
| 1990 | String Scanning in the Icon Programming LanguageabstractAs a consequence of the primary historical role of computers as a tool for numerical computation, most programming languages have minimal facilities for string manipulation. This paper discusses some of the language design and implementation issues involved in incorporating string scanning, analysis and synthesis facilities into a general-purpose programming language and describes how they have been introduced in the Icon programming language. Ralph E. Griswold |
Comput. J. | 1 |
| 1988 | Programming with GeneratorsabstractThe facilities that a programming language provides effectively both specify and limit how programs in the language can be written. Programming languages with unusual facilities often lead to program formulations that would be difficult or unnatural in other programming languages. This paper describes the characteristics and use of such a facility: expressions that are capable of producing a sequence of results, not just a single result. Such expressions are called generators. Generators are described here in the context of the Icon programming language, in which they are a general feature, instead of being confined to specific data structures or particular contexts as they are in other programming languages. In Icon, generators arise naturally from computations in which there is more than one possible solution. Coupled with goal-directed evaluation, this leads to concise and natural formulations of many types of computation. In turn, control structures are needed for generators that have no counterpart in more conventional programming languages. Numerous examples of generators are given, together with some general paradigms for their use. From a more formal point of view, the capability of generators to produce results is characterized in terms of result sequences. Finally, the relationship between generators and logic programming is mentioned. Ralph E. Griswold |
Comput. J. | 1 |
| 1988 | Seque: A Programming Language for Manipulating Sequences
Ralph E. Griswold, Janalee O'Bagy |
Comput. Lang. | 1 |
| 1987 | A recursive interpreter for the Icon programming languageabstractThe implementation of the Icon programming language is more interesting and difficult than the implementation of many other programming languages because an expression in Icon can generate a sequence of results. The implementation therefore must support control backtracking in expression evaluation. There also are several novel control structures related to generators. Because expression evaluation is limited lexically, a full coroutine mechanism is not needed and expression evaluation can be handled in a stack-like fashion.The implementation of Icon consists of a virtual machine with a stack-based architecture and an interpreter that executes the virtual machine instructions. There have been several different interpreters for Icon's virtual machine. This paper describes a new approach in which the interpreter is called recursively whenever the context for expression evaluation changes. This recursive interpreter has the advantage of being conceptually clear and flexible without sacrificing efficiency. Janalee O'Bagy, Ralph E. Griswold |
PLDI | 2 |
| 1983 | Programmer-Defined Control OperationsabstractAlthough most programming languages have facilities that allow programmers to define procedures that augment the repertoire of built-in functions, comparatively few programming languages have facilities for defining control operations. This is not surprising, since the number of different control operations that can be comfortably accommodated in most programming languages is relatively small. Expressions in Icon can generate a sequence of results. This adds a dimension to control operations that is lacking in most programming languages and makes programmer-defined control operations interesting and useful. This paper describes such a facility and gives a number of examples of its use, including the definition of argument evaluation regimes. Ralph E. Griswold, Michael Novak |
Comput. J. | 1 |
| 1983 | Co-Expressions in IconabstractThe Icon programming language has generators that are capable of producing sequences of results and a goal-directed evaluation mechanism that allows concise formulation of many kinds of computations. The evaluation of generators is restricted to their lexical site in a program, however. This paper describes co-expressions, an extension to Icon that allows generators to be used at any time or place in a program. Examples of co-expression usage are given and the relationship of co-expressions to coroutines is discussed. Stephen B. Wampler, Ralph E. Griswold |
Comput. J. | 2 |
| 1983 | Implementing SNOBOL4 Pattern Matching in Icon
Ralph E. Griswold |
Comput. Lang. | 1 |
| 1983 | Result Sequences
Stephen B. Wampler, Ralph E. Griswold |
Comput. Lang. | 2 |
| 1983 | The Implementation of Generators and Goal-directed Evaluation in IconabstractAbstract Two features of the Icon programming language strongly influence its implementation: generators and goal‐directed evaluation. A generator is an expression that is capable of producing a sequence of results. In goal‐directed evaluation, the results of generators are produced automatically in an attempt to complete computations successfully. This paper describes the generated code and run‐time support for generators, goal‐directed evaluation, and related control structures. Stephen B. Wampler, Ralph E. Griswold |
Softw. Pract. Exp. | 2 |
| 1983 | Measuring the Performance and Behavior of Icon ProgramsabstractThe importance of the ability to measure the performance of programs written in high-level languages is well known. Performance measurement enables users to locate and correct program inefficiencies where automatic optimizations fail and provides a tool for understanding program behavior. This paper describes performance measurement facilities for the Icon programming language, and shows not only how these facilities provided insight into program behavior, but also how they were used to improve the implementation. Cary A. Coutant, Ralph E. Griswold, David R. Hanson |
IEEE Trans. Software Eng. | 2 |
| 1982 | A Tool to Aid in the Installation of Complex Software SystemsabstractAbstract This paper describes a programming language, SIDL, in which various aspects of software installation can be modeled. SIDL supports hierarchical file systems, computers, and processes for executing programs to produce new programs and data. An example, illustrating the installation of Ratfor, and experience with the use of SIDL for describing the installation of a large software system are included. Ralph E. Griswold |
Softw. Pract. Exp. | 1 |
| 1982 | The Evaluation of Expressions in Iconabstractof Expressions in IconExpressions in the Icon programming language may be conditional, possibly producing no result, or they may be generators, possibly producing a sequence of results.Generators, coupled with a goaldirected evaluation mechanism, provide a concise method for expressing many complex computations.This paper describes the evaluation of expressions in Icon and presents an Icon program that explicates the semantics of expression evaluation.This program also provides an executable "formalism" that can be used as a tool to design and test changes and additions to the language. Ralph E. Griswold |
ACM Trans. Program. Lang. Syst. | 1 |
| 1981 | Generators in IconabstractIcon is a new programming language that includes a goal-directed expression evaluation mechanism.This mechanism is based on generators--expressions that are capable of producing more than one value.If the value produced by a generator does not lead to a successful result, the generator is automatically activated for an alternate value.Generators form an integral part of Icon and can be used anywhere.In addition, they form the basis for the string scanning facility and subsume some of the control expressions found in other languages.Several examples are given. Ralph E. Griswold, David R. Hanson, John T. Korb |
ACM Trans. Program. Lang. Syst. | 1 |
| 1980 | The Use of Character Sets and Character Mappings in IconabstractThis paper describes the properties and use of character sets and character mappings in the Icon programming language. Examples of programming techniques based on these features are given to illustrate paradigms for solving a variety of nonnumerical problems. Such solutions are characterised by efficiency and compact data representations. Ralph E. Griswold |
Comput. J. | 1 |
| 1980 | Linguistic Extension of Abstract Machine Modelling to Aid Software DevelopmentabstractAbstract The traditional use of abstract machine models is to provide a conceptual framework for software design and to aid portability and machine independence. Access to the abstract machine model from the higher‐level system on which it is based provides a powerful tool for software development. This paper describes a technique in which the higher‐level system is interfaced to the underlying abstract machine, thus allowing use of the higher‐level system to analyse and debug its own implementation. The application of this technique in the implementation of SL5 is given as an example. Experience with the use of the facility and a discussion of basic design considerations are included. Ralph E. Griswold |
Softw. Pract. Exp. | 1 |
| 1980 | An Alternative to the Use of Patterns in String ProcessingabstractSNOBOL4 is best known for its string processing facilities, which are based on patterns as data objects. Despite the demonstrated success of patterns, there are many shortcomings associated with their use. The concept of patterns in SNOBOL4 is examined and problem areas are discussed. An alternative method for high-level string processing is described. This method, implemented in the programming language Icon, employs generators , which are capable of producing alternative values. Generators, coupled with a goal-driven method of expression evaluation, provide the string processing facilities of SNOBOL4 without the disadvantages associated with patterns. Comparisons between SNOBOL4 and Icon are included and the broader implications of the new approach are discussed. Ralph E. Griswold, David R. Hanson |
ACM Trans. Program. Lang. Syst. | 1 |
| 1978 | Performance of Storage Management in an Implementation of SNOBOL4abstractResults of measuring the performance of the storage management subsystem in an implementation of SNOBOL4 are described. By instrumenting the storage management system, data concerning the size, lifetime, and use of storage blocks were collected. These data, like those obtained from conventional time measurement techniques, were used to locate program inefficiencies. In addition, these measurements uncovered some deficiencies in the storage management system, and provided the basis upon which to judge the heuristics used in the garbage collector. G. David Ripley, Ralph E. Griswold, David R. Hanson |
IEEE Trans. Software Eng. | 2 |
| 1976 | Procedure Referencing Environments in SL5abstractSL5 is a programming language developed for experimental work in generalized pattern matching and high-level data structuring and access mechanisms. This paper describes the procedure mechanism and the conventions for the interpretation of identifiers in SL5. Procedure invocation in SL5 is decomposed into the separate source-language operations of context creation, argument binding and procedure activation, and allows SL5 procedures to be used as recursive functions or coroutines. This decomposition has led to rules for scoping and for the interpretation of identifiers that are different from those found in other programming languages. Several examples of SL5 procedures are given, including a scanner based on the coroutine model of pattern matching. Dianne E. Britton, Frederick C. Druseikis, Ralph E. Griswold, David R. Hanson, Richard A. Holmes |
POPL | 3 |
| 1975 | A Portable Diagnostic Facility for SNOBOL4abstractAbstract In programming systems based on abstract machine modelling concepts, the underlying structure of the abstract machine can be made available to the software implemented on it. The result is an unusual facility for diagnosis and exploration of software structure. Such a facility has been added to the macro implemention of SNOBOL4. This paper describes the nature of the facility, illustrates its use, and presents some results of using it for language implementation and development. Ralph E. Griswold |
Softw. Pract. Exp. | 1 |
| 1974 | B74-44 The Elements of Programming StyleabstractThe preoccupation with structured programming is so great these days that it is difficult to find a paper in the current literature on programming that does not make at least a token reference to well-structured programming. While much benefit may be derived by focusing attention on good programming techniques, many of the principles of structured programming have been known and practiced for years. Unfortunately, the recent focus of attention has produced a substantial amount of verbiage of little value and in the resulting hubbub the fundamental ideas have often been obscured. It is therefore refreshing to find a book concerned with the basic issues of good programming that treats the subject as a matter of practice and style, not theory. Ralph E. Griswold |
IEEE Trans. Computers | 1 |
| 1964 | SNOBOL, A String Manipulation LanguageabstractSNOBOL is a programming language for the manipulation of strings of symbols. A statement in the SNOBOL language consists of a rule that operates on symbolically named strings. The basic operations are string formation, pattern matching and replacement. Facilities for integer arithmetic, indirect referencing, and input-output are included. In the design of the language, emphasis has been placed on a format that is simple and intuitive. SNOBOL has been implemented for the IBM 7090. David J. Farber, Ralph E. Griswold, I. P. Polonsky |
J. ACM | 2 |