Home | About | Subscribe | Search | Member Area |
Humanist Discussion Group, Vol. 34, No. 39. Department of Digital Humanities, King's College London Hosted by King's Digital Lab www.dhhumanist.org Submit to: humanist@dhhumanist.org [1] From: Willard McCartySubject: the question lurking in the small matter of punctuation (76) [2] From: Norman Gray Subject: Re: [Humanist] 34.27: punctuation in the assignment statement (95) --[1]------------------------------------------------------------------------ Date: 2020-05-20 15:43:15+00:00 From: Willard McCarty Subject: the question lurking in the small matter of punctuation Several helpful replies to my question about the colon in the ALGOL convention for the principal operator in an assignment statement, ':=', spur me to come out of hiding and say what my basic question is. I'm looking for evidence concerning the realisation or conviction that software, though mathematical in some sense, is "mathematics with a difference", as Mahoney wrote in "Computer science: The search for a mathematical theory".* To ask whether software is mathematics or is essentially mathematical, expecting a yes-or-no response even if with arguments, seems to me too crude an instrument. So, I am wanting to ask, what is software in relation to mathematics? I don't assume that either is a well-defined (or confined) thing. Software is a useful, indeed powerful tool for checking proofs and for exploring mathematical ideas, no question. Important aspects of software, esp in relation to algorithms, are undeniably mathematical (but note the difference in tightness of connection between the noun 'mathematics' in an identity statement and its adjective, which qualifies in recognition of a relation). I want to avoid confining either software or mathematics to its applications, important though these are. A common move is to call software 'applied mathematics', but this is not helpful when it simply categorises. 'Applied mathematics' does raise the very helpful question of the history of this term and of 'mixed mathematics' before it. The history of these terms in turn gives us even more reason to look into 'ethnomathematics', or as one person has called it, "mathematics everywhere". In the wake of Hacking's monograph Why is there a philosophy of mathematics at all? (2014), his YouTube'd lecture, "The mathematical animal" (2012) and other work on the subject,** I'd think it might be better to look for instances in which assumptions that seem to settle the matter run into serious trouble, encounter resistance and the like. So, I am looking for trouble! Is there a trace of such in the ':='? We can dismiss the question by arguing that at the time of ALGOL 58 there was no proper character for the relation of assignment (which Perlis somewhere brilliantly translated "becomes"). We can brush the matter aside by saying that no one notices nowadays, or in the delightful manner of Grace Hopper, that at the time, under pressures of the moment, "no one gave a hoot". But someone (Backus?) chose the colon over other characters available on the IBM 029 Card Punch. I wonder, what's wrong with '->'? An aside. I must confess, that as a former literary critic first trained in the school of New Criticism and as someone trained in the design of books, I don't want to take the slightest little thing about any text as potentially without significance. That ':=' is a convention does not mean that with the question of software and mathematics hanging in the air it is empty of meaning. We talk easily about fossilised metaphors, but that is a bad metaphor! Fossils do not come alive as metaphors can. And, I think, metaphors, however much worn down to a cliché, are never totally inert. Freud taught us as much. So, when we read or write ':=' is it possible to hear (to paraphrase Dr Johnson) two quite heterogeneous ideas yoked by violence together? Sorry if this is muddled. I'm asking questions, not taking a position other than that from which the matter of software and mathematics is questionable. Anyhow, thanks for any further thoughts. Yours, WM --- *In John Krige and Dominique Pestre, eds. Companion to Science in the Twentieth Century. London: Routledge, 1997, pp. 617-49. **See https://www.youtube.com/watch?v=E8f-5Ipdy5U; see also "What makes mathematics mathematics?", in Mircea Pitici, ed. The Best Writing on Mathematics 2011. Princeton: Princeton University Press, 2012. -- Willard McCarty (www.mccarty.org.uk/), Professor emeritus, Department of Digital Humanities, King's College London; Editor, Interdisciplinary Science Reviews (www.tandfonline.com/loi/yisr20) and Humanist (www.dhhumanist.org) --[2]------------------------------------------------------------------------ Date: 2020-05-20 09:22:10+00:00 From: Norman Gray Subject: Re: [Humanist] 34.27: punctuation in the assignment statement Willard, hello. I feel there may be less to this than meets the eye. On 18 May 2020, at 11:26, Humanist wrote: > Many have objected [to use of '=' rather than ':=' ] for very good > reasons, mostly > on the grounds that students who come to programming with a background > in maths tend to become confused. Do they really? Or if they did, do they still? Nowadays, I imagine there are very few people whose contemporary education has been so eccentric that they have been thoughtful about maths before they were taught any programming. While it's true that there it is quite possible to be very confused about what '=' means in a programming language, it generally means just one thing -- assignment -- rather than the various things, including assignment, that '=' might mean in a mathematical context. It's true that (I think) Algol used ':=' to mean assignment and '=' to mean equality in a test; C and friends use '=' for assignment and '==' to refer to an equality test; but I think there are few mainstream languages which haven't settled for '=' meaning just assignment. In a mathematical text, in contrast, depending on the context, '=' might involve the contingent assertion that two things are equal, as a (pre)condition or a deduction; that two things are equivalent, in the sense that 'x = y + z' means that 'x' is defined to be a shorthand for 'y+z'; it might refer to an assignment at the start of an algorithm. It might be clear from context which of the various precise meanings the symbol has, but the author of the text may decide, as a matter of style or precision, that it is useful to spell out the distinction. In spelling out, there is no absolute convention. Equivalence might be expressed by a triple-barred equals sign, by an equals sign with a delta, or a 'def', above it, or perhaps others I haven't recalled just now. I think I may have seen ':=' as an assignment in a mathematical context, but I may be making that up. I don't recall seeing leftward-pointing arrows in this context, but wouldn't be surprised to see that in 'purer' areas of maths (a rightward-pointing arrow would be a mapping rather than an assignment, and it would be very confusing, to me at least, to see that used as assignment). Generally authors are free to define whatever relations they need, and to notate them as they see fit, as long as they explain adequately clearly what the relations are. There are of course strong disciplinary conventions, and a referee would doubtless object if an author starts to be confusingly creative, but there's a wide range of possibilities [1]. > My question is this: why the colon? What was this mark of punctuation > meant to suggest, or better, what would it have suggested and what > does > it continue to suggest? The OED note on the colon as a mark of > punctuation (rather than as a part of our anatomy) is a succinct > statement of the conventional sense that would have been nigh > universal > in English usage in the mid 20th Century: > >> Its best defined use is to separate clauses which are grammatically >> independent and discontinuous, but between which there is an >> apposition or similar relation of sense. Thus it may introduce an >> antithetic statement, an illustration, extract, etc. That's fair: a colon in mathematical texts often has an explicatory sense. You could define the square-root function as { x : x^2 = 2 } pronounced 'the set of x, such that x squared is two', but there are other places where colons are used. So in answer to the question 'why the colon?' I think the answer is merely that the colon has a broadly explicatory sense, someone thought it would be a good idea, once, and it stuck. Best wishes, Norman [1] The American Mathematical Society's 'amsmath' package defines a number of more-or-less common possibilities. See Tables 3.6 and 3.7 of (http://mirror.ox.ac.uk/sites/ctan.org/info/short-math-guide/short-math- guide.pdf); I notice this doesn't include a pre-composed symbol corresponding to ':=' (there's a slightly crazy 'comprehensive' list of symbols at https://www.ctan.org/pkg/comprehensive?lang=en) -- Norman Gray : https://nxg.me.uk SUPA School of Physics and Astronomy, University of Glasgow, UK _______________________________________________ Unsubscribe at: http://dhhumanist.org/Restricted List posts to: humanist@dhhumanist.org List info and archives at at: http://dhhumanist.org Listmember interface at: http://dhhumanist.org/Restricted/ Subscribe at: http://dhhumanist.org/membership_form.php
Editor: Willard McCarty (King's College London, U.K.; Western Sydney University, Australia)
Software designer: Malgosia Askanas (Mind-Crafts)
This site is maintained under a service level agreement by King's Digital Lab.