EDBT 2026 Demo / reviewers in the wild / expert
D. M. Symes
dblp:86/3735
· DBLP profile ↗
3ranked-venue papers
3as first author
0since 2021 · last 1985
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 2 · 2 first-authorTheory of computation · 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
1 paper |
Programming languages and type systems · 56% Compilers and program optimization · 44% | |
| Theoretical computer science
1 paper |
Computational complexity · 50% Algorithms and data structures · 50% |
Topics — the 4 heaviest of 6, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Compilers and program optimization › program transformation › control flow transformation
control flow structuring |
0.0 | 1 | 1975 | New Control Structures to Aid Gotolessness · POPL 1975 |
Programming languages and type systems
control structures |
0.0 | 1 | 1975 | New Control Structures to Aid Gotolessness · POPL 1975 |
Computational complexity
circuit complexity |
0.0 | 1 | 1972 | The Computation of Finite Functions · STOC 1972 |
Programming languages and type systems
language design |
0.0 | 1 | 1975 | New Control Structures to Aid Gotolessness · POPL 1975 |
Methods — techniques the papers use, named apart from their topics
table lookup · 0.0program structure analysis · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 1985 | Procedural Operators Considered as Fundamental Programming Devices
D. M. Symes |
Comput. Lang. | 1 |
| 1975 | New Control Structures to Aid GotolessnessabstractThis paper contains a suggestion for a calculus for constructing 'flowchartable' algorithms. The calculus is a generalization of an Algol-like calculus, and hence maintains some discipline over the algorithms constructible with it.The essence of the great 'go to' debate seems to be that the use of the 'go to' device allows the construction of 'spaghetti-like' algorithms which are difficult to control intellectually, and hence that only more restrictive, special-purpose control structures (which are presumably well thought out) should be used. Another way of saying this, perhaps, is that the 'go to' device is the most primitive (and hence most general) possible control structure, and though implementations of any control structure will ultimately have to be done using it, a programmer should no more be content using a 'go to' than if he were forced to use bit strings for data types. He should be demanding higher-level control structures. To some extent, of course, he has them; but, in discussing the 'go to' debate, the conclusion arrived at by Knuth (1), for instance, is that more powerful control structures than are freely available at present are needed to enable programmers to express their algorithms. He mentions a suggestion by Zahn (2) for strengthening the set of available control structures, but shows that he still needs to resort to the dreaded 'go to' device. (He confesses a sinful urge to jump into the middle of Zahn's loops.) The implication is that even with Zahn's suggestions there is a need for more control structures. We concur with this view, and present here a suggestion for making more such structures available. We invite discussion as to whether the results are profitable for programming language design.The lack of well-developed control structures is manifested, incidentally, not only in the dearth of 'public' control structures (i.e. made freely available to all users), but also in the lack of facilities for creating 'private' ones (analogously to the notion of 'subroutines' or user-defined data types). These deficiencies are not all that surprising since control structures are, in a sense, devices at a third level of sophistication: data (being the first level) is acted upon by programs (being the second level) to produce other data; and programs are acted upon by control structures to produce other programs. But the time has perhaps come to pay some more attention to control structures. D. M. Symes |
POPL | 1 |
| 1972 | The Computation of Finite FunctionsabstractThis paper discusses the computation of finite functions with the aim of investigating ways of judging the relative worth of the different methods for computing a given finite function. Any finite function may, of course, be computed in a number of ways, including a “brute-force” method of table look-up and methods which exploit some pattern which may exist in the function. How “good” we judge each of the several methods to be will depend on which criteria we wish to apply, and here we will be considering two: size of program and cost of computation, first of all separately, and then together. The latter case gives rise to the notion of a “reasonable” way of computing a finite function, and certain considerations with respect to this notion suggest a modified notion of “relatively reasonable”. Some properties of these concepts, in particular some of the differences between them, are developed. The spirit of the paper is machine-independent except for the last paragraph which suggests a need for some idea of “program structure” to be introduced into the formulation. D. M. Symes |
STOC | 1 |