reorg
authorThomas Walker Lynch <eknp9n@reasoningtechnology.com>
Fri, 31 Jul 2026 03:43:56 +0000 (03:43 +0000)
committerThomas Walker Lynch <eknp9n@reasoningtechnology.com>
Fri, 31 Jul 2026 03:43:56 +0000 (03:43 +0000)
document/book/TM-2026.html

index 0bafc91..a24a6c4 100644 (file)
 
       <p>In the prior edition of this book, the preface included a discussion on the meaning of the word "may" according to RFC 2119, the guidelines for specification writing. There is an important distinction between the 'may' of options or permission, and the more colloquial 'may' of probability. However, distinguishing between the two was too much of an ask of readers, most of whom skip the preface anyway. So in this edition, I avoid the temptation to use 'may' and replace it with a direct statement of what I mean. "It is of high probability that..." or "There are options for...". Directly saying what is meant, who would have thought of it? The RFC 2119 authors have apparently struggled with this as well, as they now require the MAY and other words that appear in RFC 2119 to be capitalized so as to dodge the grammar debate.</p>
 
+      <p>Code examples in this text follow the distinctive RT code format conventions.<RT·endnote>For the complete specification, refer to RT-code-format.html and RT-code-format-Lisp.html located at https://github.com/Thomas-Walker-Lynch/RT-Style/tree/core-developer_branch/developer/document.</RT·endnote> For example, horizontal comma-separated lists apply a space before the comma to bind the punctuation to the item being appended to the list:</p>
+
+      <RT·code>
+        int x ,y ,z;
+      </RT·code>
+
+      <p>Multi-level enclosures receive a single space of padding only on the outermost boundary:</p>
+
+      <RT·code>
+        if( f(g(x)) ){
+      </RT·code>
+
+      <p>Furthermore, identifier naming leverages both hyphens and underscores, when available, to establish semantic binding precedence. An example of this is:</p>
+
+      <RT·code>
+        rounded_x-coordinate
+      </RT·code>
+
+      <p>Furthermore, in this coding culture, we say that arguments values are <em>given</em> to a function. Functions do not <em>take</em> arguments, as a call stack cannot reach into memory and grab values. A function is only said to <em>accept</em> or <em>reject</em> a value in the context of guard code evaluating its validity. Similarly, machines, factories, and software <em>make</em> objects by assembling components; they do not <em>create</em> them, as creation implies a fundamental synthesis outside the scope of engineering.</p>
+
+      <p>Whenever standard mathematical or Greek symbols are required, this text utilizes native Unicode characters rather than relying on escape sequences. For example, the text uses 'δ' directly instead of, say, "\delta"; this might lead to some small typesetting variations.</p>
+
 
       <!--------------------------------------------------------------------------------->
       <RT·chapter>The search that led to the Turing Machine</RT·chapter>