Conceptualising Programming Language Semantics
Round 1
Reviewer 1 Report
Comments and Suggestions for AuthorsThis well-written and interesting paper is focused on two related topics: first, the idea that the semantics of a programming language may be understood in terms of what in the paper are called "illustrative devices", that amount to a form of metaphorical use of language. Second, as a case study in the exploration of this idea, there is a self-contained historical essay on two early contributions by van Wijngaarden concerning the (syntax and) semantics of programming, in which these illustrative devices are used.
I have nothing to remark on the second topic, the case study (§4), which is in my opinion a very useful introduction (and source of references!) on the work of A. van Wijngaarden, which deserves to be rescued from the historian's vault and recognized as a thoughtful contribution to programming language theory.
However, I am unsure about the role of "illustrative devices" in understanding the semantics of programming languages in general, and in the case study in particular.
I do agree that, as written in the paper at line 109 f., "Metaphors shape the way we form conceptual links between ideas and create understandings", but elsewhere (lines 166 ff.) it is written that "<<the foundation of hermeneutics is the discursive operation of all language, to which metaphor is the indispensable key.>> [41,p.413] Since hermeneutics is the study of interpretation [42], and programming language semantics is all about interpretation, metaphor is crucial."
This syllogism seems to be flawn because it assumes that semantics and hermeneutics are essentially the same thing or, at least, have related concerns.
This seems to me to reveal that several meanings of "semantics" are brought into play in the paper: on the one hand we have the mathematical semantics referred to in lines 51 ff., speaking of the works of White, Primiero, Turner. Elsewhere "semantics" seems to refer to a more elusive entity, like in the description of the purpose of the paper at lines 29 ff.: "...understand the semantics by examining the use of conceptuality: metaphor, analogy, and example—what I call “illustrative devices”. [...] by exploring the illustrative devices used by computer science, we can better understand the nature of the field, and its history".
Even after reading the case study in §4 I have the feeling that the illustrative devices demonstrated in the paper are not enough to understand programming language semantics in a useful sense, or perhaps they are enough only for understanding a language and its programs as cultural entities but not their *functional* aspects, which I believe are the main concerns of semantic analysis.
I am aware of the fact that this is an extensive topic that also involves a way of doing history of computing (see Knuth vs Haigh), and I do not mean the above remarks as a criticism of the authors' methodological choices. Nor do I intend to argue in support of an alternative point of view. However, I invite the authors to be more explicit on the contribution to be expected from the use of metaphors in understanding a programming language, perhaps considering this question that might puzzle the reader (and tries to summarize what puzzles me): what is the specific contribution that a semantics based on illustrative devices may provide to *writing* programs?
While technical semantics has a clear impact on programming styles and may even suggest new programming techniques, the approach to semantics based on metaphors, illustrative devices and hermeneutics seems to me to address issues at a level similar to that investigated by critical code studies. Maybe this results from my misunderstanding of the paper, but some further clarification on this point would be useful.
Some minor points:
- I believe that the list of keywords should be expanded, for example by adding "van Wijngaarden", "metaphor" and others restricting the keywords that are already present, probably too generic.
- line 48: "IDs" should be expanded to "illustrative devices": I did not notice other used of the acronym.
- line 126: "tells us less about how to use metaphors to in understanding" perhaps should be "tells us less about how to use metaphors to help in understanding" or something like that.
- line 341: "or a character from which an identifier but names can also be concatenated directly": semothing seems to be missing.
- line 342, footnote 14: there is a closed parenthesis that has never been opened.
- line 391: "example sample" sounds odd.
- line 529: "between levels of abstract" is "between levels of abstraction".
- line 681: "I propose there is the space for a long-form examination of illustrative devices across the history of computing,": for example, a metaphor that has given rise to an entire theory of computation is that centered on actor/script/message, used by Hewitt in his attempt to understand Alan Kay's ideas on object-oriented programming.
- passim: "Van Wijngaarden" instead of "van Wijngaarden"
- references 24,25,28,60: check spacing.
Author Response
Comments and Suggestions for Authors
> Very many thanks for your encouragement and helpful remarks. The paper is stronger with your suggestions and I like your suggested direction for further research too.
> responses to the reviewer are written with a preceding \gt
This well-written and interesting paper is focused on two related topics: first, the idea that the semantics of a programming language may be understood in terms of what in the paper are called "illustrative devices", that amount to a form of metaphorical use of language.
> I would rather say that I think the communication of programming language semantics utilises "illustrative devices". Since this thread is developed throughout the review, let me say here only that I agree with the reviewer's points and have tried to address them as follows:
Second, as a case study in the exploration of this idea, there is a self-contained historical essay on two early contributions by van Wijngaarden concerning the (syntax and) semantics of programming, in which these illustrative devices are used.
I have nothing to remark on the second topic, the case study (§4), which is in my opinion a very useful introduction (and source of references!) on the work of A. van Wijngaarden, which deserves to be rescued from the historian's vault and recognized as a thoughtful contribution to programming language theory.
> thanks, I agree!
However, I am unsure about the role of "illustrative devices" in understanding the semantics of programming languages in general, and in the case study in particular.
I do agree that, as written in the paper at line 109 f., "Metaphors shape the way we form conceptual links between ideas and create understandings", but elsewhere (lines 166 ff.) it is written that "<<the foundation of hermeneutics is the discursive operation of all language, to which metaphor is the indispensable key.>> [41,p.413] Since hermeneutics is the study of interpretation [42], and programming language semantics is all about interpretation, metaphor is crucial."
This syllogism seems to be flawn because it assumes that semantics and hermeneutics are essentially the same thing or, at least, have related concerns.
> I have endeavoured to pick apart my point here a little more carefully.
This seems to me to reveal that several meanings of "semantics" are brought into play in the paper: on the one hand we have the mathematical semantics referred to in lines 51 ff., speaking of the works of White, Primiero, Turner. Elsewhere "semantics" seems to refer to a more elusive entity, like in the description of the purpose of the paper at lines 29 ff.: "...understand the semantics by examining the use of conceptuality: metaphor, analogy, and example—what I call “illustrative devices”. [...] by exploring the illustrative devices used by computer science, we can better understand the nature of the field, and its history".
Even after reading the case study in §4 I have the feeling that the illustrative devices demonstrated in the paper are not enough to understand programming language semantics in a useful sense, or perhaps they are enough only for understanding a language and its programs as cultural entities but not their *functional* aspects, which I believe are the main concerns of semantic analysis.
> I am glad that this is the feeling communicated, in fact, as this was rather my intention!
I am aware of the fact that this is an extensive topic that also involves a way of doing history of computing (see Knuth vs Haigh), and I do not mean the above remarks as a criticism of the authors' methodological choices. Nor do I intend to argue in support of an alternative point of view. However, I invite the authors to be more explicit on the contribution to be expected from the use of metaphors in understanding a programming language, perhaps considering this question that might puzzle the reader (and tries to summarize what puzzles me): what is the specific contribution that a semantics based on illustrative devices may provide to *writing* programs?
> Here is the major thing I must address. It was not my intention to answer the question posed in the final sentence here. Tempting though it is to speculate, what I actually want to do is argue that studying the illustrative devices tells us about the history and something of the philosophical nature of different perspectives/approaches to programming language semantics. If, along the way, something appears to the reader which might clarify something about writing programs, this is merely a bonus on the side!
> I believe I have added remarks to the Introduction and Philosophy of Metaphor sections to clarify this.
While technical semantics has a clear impact on programming styles and may even suggest new programming techniques, the approach to semantics based on metaphors, illustrative devices and hermeneutics seems to me to address issues at a level similar to that investigated by critical code studies. Maybe this results from my misunderstanding of the paper, but some further clarification on this point would be useful.
> indeed it does!
Some minor points:
- I believe that the list of keywords should be expanded, for example by adding "van Wijngaarden", "metaphor" and others restricting the keywords that are already present, probably too generic.
> thank you. I always struggle with choosing the specificity of keywords. I have added a few more and hope it's not too scattered.
- line 48: "IDs" should be expanded to "illustrative devices": I did not notice other used of the acronym.
> an earlier version used the acronym occasionally but I decided to scrap it; clearly I missed one.
- line 126: "tells us less about how to use metaphors to in understanding" perhaps should be "tells us less about how to use metaphors to help in understanding" or something like that.
> should have been "aid in understanding"; fixed.
- line 341: "or a character from which an identifier but names can also be concatenated directly": semothing seems to be missing.
- line 342, footnote 14: there is a closed parenthesis that has never been opened.
> misplaced my end-of-footnote bracket and swapped around a couple of lines! fixed.
- line 391: "example sample" sounds odd.
> changed to just "sample".
- line 529: "between levels of abstract" is "between levels of abstraction".
> fixed.
- line 681: "I propose there is the space for a long-form examination of illustrative devices across the history of computing,": for example, a metaphor that has given rise to an entire theory of computation is that centered on actor/script/message, used by Hewitt in his attempt to understand Alan Kay's ideas on object-oriented programming.
> a helpful suggestion, thank you!
- passim: "Van Wijngaarden" instead of "van Wijngaarden"
> I am unsure which of these the author is suggesting I should use. I followed https://en.wikipedia.org/wiki/Tussenvoegsel and consulted with a Dutch friend on this (having got it wrong in previous work) and through use of a macro capitalised "Van" on every occasion save when it was preceded by a first name or initial. The exceptions are within quotations. (though I do note it is strange the authors of those quotations, being all Dutch speakers, should contravene the Wikipedia rule).
- references 24,25,28,60: check spacing.
> this is some weird bug associated with the mdpi template and my use of crossref. I spoke to the journal editorial team about it, offering to recreate all my cross-ref'd references, and they said they would try first to fix it in production. I'll attend to it manually otherwise.
Reviewer 2 Report
Comments and Suggestions for AuthorsPlease see the attached document.
Comments for author File: Comments.pdf
Author Response
COMMENTS
> Thank you for the most thorough review I have ever received, though I confess I was initially alarmed at its length! The remarks are thoughtful and most interesting, and will really help the future direction of my research (as well as, hopefully, this paper too).
> responses to the reviewer are written with a preceding \gt
The author proposes a study of the metaphors, analogies, and examples of formal
semantics of programming languages. The claim is that “by exploring the illustrative
devices used by computer science, we can better understand the nature of the field,
and its history.” The philosophical vehicle for embarking upon this study is largely
based on the work of the cognitive scientists George Lakoff and Mark Johnson who
emphasize the embodied nature of metaphor, who find a connection between bodily
orientation and composition and metaphorical turns of phrase; e.g., the idea that “up”
is good and “down” is bad; “I’m feeling up today” versus “I’m feeling down today”;
“The market is up today” versus “The market is down today,” etc. For this paper, the
author’s focus is on the history of programming language semantics and its dramatic
turning point is Adriaan van Wijngaarden’s presentation at a 1964 conference where
“The major reaction was puzzlement; Dijkstra began by stating ‘I am somewhat baffled,
I might say, in many ways.’ [2, p.20] Many of the participants seemed to struggle to
understand the core of van Wijngaarden’s idea, which caused him quite some
annoyance, provoking exclamations of frustration.” Yet, as the author narrates, this
puzzling presentation was the spark for research that was subsequently extremely
influential, including Dijkstra’s objections to GOTO and the development of the
programming language construct of continuations.
According to the author, van Wijngaarden’s presentation emphasized the notion
of programs-as-texts and semantics as a form of rewriting these texts, in contrast to
comparable “illustrative devices” (a turn of phrase due to the author) like program-as-
machine, machine-as-language, and other more common metaphors of computer
science of the time. Van Wijngaarden’s textual approach was seen as singular by the
audience of his presentation: “This heavily textual attitude to programs is not one
shared by many—if any—other writers of semantics.” (Line 582) I found fascinating the
author’s description of van Wijngaarden conference presentation and the simultaneous
positive and negative reactions of the audience members. And, I was convinced by the
author that the unorthodox lexicon and style of presentation chosen by van
Wijngaarden was the origin of the subsequent disputes, if not controversies. However, I
was curious as to why the author thought van Wijngaarden’s audience was so
flummoxed by the presentation since — as the author points out with respect to, for
instance, John McCarthy’s presentation — others were presenting similar ideas at the
same conference. Wouldn’t the notion of a term rewriting system have been
accessible (via previous work of Church and especially Post) to the audience even in
1964? Perhaps it would be interesting to expand upon why the author thinks van
Wijngaarden’s chosen metaphors were so unfamiliar to the audience?
> I have looked at this section and added a footnote to the Turing and Post rewriting machines, and something in the discussion section too. I am somewhat hesitant about speculating too hard about explanations for the audience's reaction without clear sources to explain why. Term rewriting may have been familiar or may not; it would take quite a bit of work to be clear on it, more than I have available in this corrections window.
While I would never discourage the application of Lakoff and Johnson to an
analysis of the metaphors, analogies, and examples of formal semantics of
programming languages — after all, Lakoff and Johnson’s work on the same for
mathematics is quite enlightening — I would encourage the author to provide more
background material on the methodology used. References to, for instance, Paul
Ricoeur, are warranted but seemingly unconnected to Lakoff and Johnson. And, one
needs to keep in mind that Lakoff and Johnson are the tip of a historical iceberg that
includes over 2000 years of the study of rhetoric. One might want to consider works
on the history of the development of rhetorics and approaches to argumentation
developed for mathematics and philosophy, for example, Reviel Netz, The Shaping of
Deduction in Greek Mathematics, that narrates Plato’s borrowing of the dialectics of
geometry and his retooling for the agonistics of philosophy and public discourse.
> I must thank you for the useful literature recommendation. This was another fascinating piece of work (and so beautifully structured with very helpful per-chapter summaries!).
Why would this be worthwhile? Here is an example from the manuscript: Lines
624-625: “Considered from Lakoff & Johnson’s perspective of embodied realism [32],
the truth of van Wijngaarden’s models was lacking since his illustrative devices failed to
convince in the social situation of academic presentation.” This is also explicable in
the classical theory of rhetoric, perhaps even in Aristotelean terms as the employment
of a rhetoric that falls too far from the dialectic of mathematics. In other words, it
seems unnecessary to evoke Lakoff and Johnson when an older understanding of
rhetoric (and its failures) would do.
> the truth is that I am new to this methodological area of study, without a training and background in rhetoric, so I do not have that older understanding at hand to evoke. I have tried to develop some aspects of the paper that could benefit from studying rhetoric after a limited amount of consideration of related literature.
While I think these and others are interesting analogies to both literary theory
(via Ricoeur) and rhetoric (via reference to the tropes of metaphor and metonymy —
but why not also irony and synecdoche to include all four of the so-called “master
tropes” of Kenneth Burke and Hayden White?). But, for this journal, I worry: are these
citations clarifying, i.e., will the readership know these works of literature and rhetoric
that constitute the theoretical background of the author’s “illustrative devices”? If not,
then perhaps more background could be provided earlier in the article.
> Considering the ``master tropes'' has been quite interesting, and a few parts of the text (especially section 2) evoke this material. However, as stated above, I do not really have the time to develop nor the space in this paper to present a longer explanation of their significance.
Additionally, I worry about a mismatch between Lakoff and Johnson emphasis
on the body and the “textual operators” central to the author’s story about van
Wijngaarden. The background to Lakoff and Johnson is not of the same kind as an
explanation of textual (and oral) devices of literature and rhetoric, so I would suggest
some more background material and perhaps an explanation of where, for instance,
Lakoff’s claims about metaphor branch away from the classical tradition of rhetoric.
There are huge literatures about “textuality,” “intertextuality,” “the text” that
could be very useful for the author’s exposition of van Wijngaarden’s metaphors; e.g.,
Jacques Derrida’s insistence that ““il n’y a pas de hors-texte” and his exposition of
arche-writing in Of Grammatology. Not that I am suggesting that the author employ
Derrida here; rather I am just pointing out that there is tons of stuff that could be
background material for an explanation of the author’s approach and methods. And,
without sufficient introduction of what the author is employing as methods, the author’s
project is open to misinterpretation.
> this is probably the most important point here and one I simply have to take on the chin. I could withdraw the paper, do another six months to a year worth of background reading, and come up with a more literary take on this particular historical study. I think that decision has to be in the hands of the Guest Editors.
> A study of Netz has given me some pointers in the right direction, but I am increasingly feeling that there is a delicacy needed here in unpicking:
> a) the text of the formal object which constitutes the PL semantics
> b) the accompanying discussion which serves to explain and illustrate a)
> c) the metaphor PROGRAM AS TEXT used by vW to illustrate his work.
> I am not totally sure which of these texts you (the reviewer) are suggesting I analyse using the literature on textuality. Perhaps all of them? My intention in this paper is only to study b). I have added this clarification to the end of the introduction.
Nevertheless, I find it a fascination investigation. Thank you for the opportunity
to review the manuscript.
READING NOTES
topic: examining the metaphors, analogies, and examples of formal semantics of
programming languages; what the author calls “illustrative devices” [IDs]
method: “Rather than ontology, then, in this paper I will consider programming
language semantics from the perspective of its illustrative devices.”
claim: “by exploring the illustrative devices used by computer science, we can better
understand the nature of the field, and its history”
Line 641-642: conclusion/proposal for future work: “More work is needed to
uncover, classify, and unpack the vast array of illustrative devices in computing—and
this work could have many important uses.”
I don’t understand what this phrase means: “a key object of its jaws”
> I explained the sentence more
(programming) language as metaphor: Nofre, Priestley, and Alberts
Line 48: Might want to define the acronym “ID” as “illustrative device.” Might also
want to compare what the author has in mind with this phrase versus how
“rhetorical device” has been used by others.
> I have removed the acronym. The suggestion for using `rhetorical device' is one I considered carefully; but in the end I think the term `illustrative device' is more helpful because of its emphasis on the explanatory aspect. I have added some words to that effect in this location.
Lines 54-55: “but the material is technical and overly focused on denotational
semantics”: The difficulty with this remark is that one has to know something
about denotational semantics to understand it; and, if one has such knowledge,
why would it be problematic to focus on it? Perhaps it suffices to say that White’s
work is overly technical in the author’s view?
> good point; I have changed the sentence to "one specific approach to semantics"
Lines 73-74: Refined claim: “I contend that by investigating the illustrative devices
used in semantics we will be able to provide a different set of answers to these
questions to those already being considered in the philosophy literature.”
Lines 77-78: “discussion of mathematicians’ practice is regularly neglected”; it might
be worthwhile to examine Sha Xin Wei’s Stanford dissertation on this topic,
Differential Geometric Performance and Technologies of Writing (http://
topologicalmedialab.net/xinwei/papers/papers.htm)
> Thanks, a nice reference! I have added it here, plus another about mathematical practice (which I had been meaning to read for years and was pleased I finally was pushed to do!).
Lines 100-105: Outline
“My discussion centres on the Van Wijngaarden case study to inform the investigation,
and to allow its history to be illuminated by the philosophical discussion.
A. I begin by exploring a key philosophical framework,
B. sketch some of the historical background on programming languages before
C. heading into the case study, and
D. finish by looking at a number of reasons for further studying the illustrative devices
of computing.
A. philosophical framework: philosophy of metaphor (Lakoff and Johnson); human
cognition and understanding is embodied and metaphorical.
Line 120: mention of Primiero’s levels of abstraction
Lines 130-131: “A further weakness of Lakoff & Johnson is a lack of consideration of
cultural aspects and influences on metaphor choice and usage.” I think the claim is
that embodiment precedes all cultural conditions, and so phrasing L&J’s position
as “a lack of consideration” is conciliatory and polite but perhaps not entirely
accurate.
> I have rephrased it.
Interesting: I don’t know of this work: Lassègue, J. La genèse des concepts
mathématiques: Entre sciences de la cognition et sciences de la culture. Revue de
synthèse 745 2003, 124, 223–236.
Lines 147-148: “An alternative, which may be of use when we think about illustrative
devices, is to consider simulation semantics.” I am hoping that “simulation
semantics” will be described in more detail since this is unknown to me, although
the citations in the manuscript seem to lead the reader right back to Johnson of
Lakoff and Johnson.
> I have made this paragraph a bit clearer, explaining in more detail the specifics of Barsalou's framework. However I have kept the second citation is to Johnson because this is the place I found this work referenced and I like the way Johnson explains it.
B. Machines, notations and languages: the history of programming languages
Lines 205-207: De Mol & Bullynck: “‘Coding’ entered the lexicon of the computer user
from that of the telegraph operator, and denoted the (often repetitive, boring, later
gendered, and even later ‘reclaimed’) task of translating a desired behaviour into a
machine-readable (but human-unreadable) notation
Line 216: “The goal of an ultimate universal language has a longer history” The author
might also be interested in Umberto Eco’s book on The Search for the Perfect
Language
> Thank you for the interesting recommendation, which I spent an enjoyable couple of hours looking over. I think this is not the place for a full consideration of Eco's work, but it is worth a citation (which I have inserted) and could be useful for my future work.
Lines 238-239: Citing work by Astarte: “This short introduction to the history of
programming languages and how it created a context in
which work began on formal
semantics is expanded in the work of Astarte.”
C. texts and machines: the early work of VanWijngaarden
rejection of ALGOL 68’s formal definition
4.1 work biography of Adriaan van Wijngaarden (1916–1987) who hired Edsger
Dijkstra and twelve women: Eddy Alleda, Dineke Botterweg, Ria Debets, Marijke de
Jong, Bertha Haanappel, Emmy Hagenaar, Truus Hurts, Loes Kaarsenmaker, Corrie
Langereis, Reina Mulder, Diny Postema, and Trees Scheffer.
Line 283: van Wijngaarden on the implementation of recursion as “a matter of honour
and intellectual decency”
4.2. Processing and preprocessing
Line 328: A PROGRAMMING LANGUAGE IS A MACHINE and A PROGRAM IS A TEXT
Lines 343-345: “The end result of this is that a full program text is in the end itself
a name, and therefore there is no real distinction between a program text and a name
in V—though Van Wijngaarden does not clearly highlight this identity nor explore its
implications”: Would this be interesting to compare to Gödel numbering?
> I thought about this carefully, and decided that since vW was not deliberately making this identification, I did not want to compare it to Gödel numbering. I think a closer parallel would be to the stored program concept itself (i.e., that a program text can be treated and manipulated like any other text on which a program might operate). I have added a brief note to this effect.
Lines 360-366: This is a repetition of the quote that begins the article on Lines
13-19. I think it works better here than as an epigraph, but if it is to appear twice
perhaps this appearance could be more tightly related to its initial appearance as
an epigraph?
> I like the epigraph a lot, so I have added a couple of sentences to explain.
Lines 380-382: “The final text of V contains not just equivalences showing the final
value of all variables, but also a kind of history of computation, and all the rules of the
program as they are created.” Is this historically related to an (Emil) Post
production system?
> It is not historically related in the sense that vW does not cite Post. It is not impossible that vW knew about Post's work, though I do not believe he ever cited Post. The work of historian Liesbeth De Mol on Post suggests that he was generally rather overlooked.
This whole section is fascinating, but does it lead towards or away from the key
claims about embodiment of the philosophical framework of Lakoff and Johnson
made earlier in the paper? If Van Wijngaarden’s method is strictly textual, in what
ways is it a form of embodied metaphor? Or, is embodiment not really the focus
of the paper since the author’s illustrative devices can certainly be
accommodated as rhetorical devices, as tropes and thus purely textual.
> I have considered some of the recommended literature on rhetorical devices and attempted to include some of this in the concluding parts.
4.3. Discussion
Lines 458-461: The major reaction was puzzlement; Dijkstra began by stating “I am
somewhat baffled, I might say, in many ways.” [2, p.20] Many of the participants
seemed to struggle to understand the core of Van Wijngaarden’s idea, which caused
him quite some annoyance, provoking exclamations of frustration,
interesting interpretations of van Wijngaarden’s approach: “While McIlroy
challenged this as meaning “the entire history of the computation must be maintained”
[2, p.24], in fact that was the approach put forth by McCarthy in his paper at the same
conference [85].18 What Van Wijngaarden did was repeatedly change the program text,
not so much maintaining the history as flattening it out. Reynolds argued that this was
the first published example of what was later called ‘continuation passing style’ [86],
although he is reinterpreting the work, sixty years later, in light of many subsequent
results in programming language theory.19 [would have been unsupported,
presumably, by Mahoney]
Lines 485-491: van Wijngaarden versus Fregean approach & functional
programming: “Van Wijngaarden was not really … saw the function as less basic than
the procedure … He did not present his work with the illustrative devices which would
have been amenable to the later functional programming community.
GOTO considered harmful as birthed by Van Wijngaarden’s presentation: The go
to handling did make a more immediate historical impact, however: Dijkstra spent the
next coffee break thinking about what VanWijngaarden had said, and scribbled some
ideas on a napkin; this led to his famous letter to the editor of CACM making a case
against the go to statement [McIlroy, reported in 86].
Lines 506-511: what is semantics? “There is a deeper point underlying Hoare’s
question. Which operations of the machine, or machines, constitute semantics? Many
later approaches to programming language semantics were concerned with producing
an ultimate value or denotation; but from Van Wijngaarden’s work one feels it is
rather the ongoing removal and replacement of text which is the act of finding
meaning. It is therefore more like an operational semantics, with the meaning of the
programming language invested in the MACHINE.”
Line 529-533: “we can observe a juxtaposition between the way in which Van
Wijngaarden’s textual manipulation happens at a very basic level by the processor,
providing a kind of “semantics of the word” in the Ricoeur sense [40,41]: names in the
program and in V are given meaning via low-level transformations; one might view the
preprocessor then as a “semantics of discourse”, giving meaning at a higher level.”
I think these are interesting analogies, in this passage and previously, to both
literary theory (via Ricoeur) and rhetoric (via reference to the tropes of metaphor
and metonymy — but why not also irony and synecdoche to include all four of the
so-called “master tropes” of Kenneth Burke and Hayden White?) But, for this
journal, are these citations clarifying, i.e., will the readership know these works of
literature and rhetoric that constitute the theoretical background of the author’s
“illustrative devices”? If not, then perhaps more background could be provided
earlier in the article. The background to the Lakoff and Johnson is not of the
same kind as an explanation of textual (and oral) devices of literature and
rhetoric, so I would suggest some more background material and perhaps an
explanation of where, for instance, Lakoff’s claims about metaphor branch away
from the classical tradition of rhetoric.
> I have provided more background earlier in the article, as best I can, with the caveats about that the literature is not one I know, and my references are consquently somewhat cursory---though I really must stress I find them valuable and they certainly shape my thinking now and in future work. Speaking of: there is now a sentence in Further Work acknowledging this.
Lines 540-545: underlining the pivotal nature of the 1964 conference: “Peter Landin,
who also spoke at the 1964 conference [89], developed a semantic approach involving
translation of program constructs into “applicative expressions” which are interpreted
using a combination of states and transition rules which Landin called a machine’ [90].
Though he was typically reluctant to take credit for ideas, he did allow himself the
invention of the ‘abstract machine’ as a way to interpret a program. This work was
influential in particular on the IBM Laboratory in Vienna
Lines 558-559: Is this the key reference for “simulation semantics”? Barsalou, L.W.;
Santos, A.; Simmons, W.K.; Wilson, C.D. Language and simulation in conceptual
processing. In Symbols and Embodiment: Debates on meaning and cognition; Oxford
University Press, 2008. Could this be described and explained more fully in the
manuscript?
> I have done, earlier in the background section, as desired. Note I also changed this reference as I now find Barsalou 1999 to be more relevant.
Line 582: Van Wijngaarden’s textual approach as singular: “This heavily textual
attitude to programs is not one shared by many—if any—other writers of semantics.”
Lines 605-606: “A PROGRAM IS A TEXT is harder to analyse than A PROGRAMMING
LANGUAGE IS A MACHINE.” But for whom is it harder?
> I meant for me, the author, so I have rewritten for clarity; but perhaps your point here is that it wouldn't be harder if I had the rhetoric literature at hand!
Lines 624-625: “Considered from Lakoff & Johnson’s perspective of embodied realism
[32], the truth of Van Wijngaarden’s models was lacking since his illustrative devices
failed to convince in the social situation of academic presentation.” This is also
explicable in the classical theory of rhetoric, perhaps even in Aristotelean terms
as the employment of a rhetoric that falls too far from the dialectic of
mathematics (see Reviel Netz, The Shaping of Deduction in Greek Mathematics)
> Yes, this is a good point. I have added Netzian inflected remarks to this effect in both the background and discussion sections.