<html><body><div style="font-family: arial, helvetica, sans-serif; font-size: 12pt; color: #000000"><div>Does Pascal have a single-char equivalence operator ''≡'?  I don't think so, since all Pascal source code, certainly back in the day, was written in ASCII.  This is an "operator" introduced by weave into the typeset version of a program, solely to signify a mathematical idea (equivalence or definition or whatever) between a module name as phrase and all the Pascal code it represents later on.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>If a program written in WEB is trafficking in sequences of '=' signs, that is part of the mental model of anyone (such as myself in the time of cholera) who might be trying to understand what that program is doing with all its input characters.  This particular module name is supposedly describing the innards of a program, and its typesetting should reflect those innards so as not to violate a reader's mental model.<br></div><div><br data-mce-bogus="1"></div><div>IMHSHO, anyway.<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>Onward, into the fog ...<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div>- Doug<br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><div><br data-mce-bogus="1"></div><hr id="zwchr" data-marker="__DIVIDER__"><div data-marker="__HEADERS__"><b>From: </b>"Shreevatsa" <shreevatsa.public@gmail.com><br><b>To: </b>"doug" <doug@mathemaesthetics.com><br><b>Cc: </b>"tex-k" <tex-k@tug.org><br><b>Sent: </b>Wednesday, March 25, 2020 6:20:48 PM<br><b>Subject: </b>Re: [tex-k] Module name typesetting bug in either tangle.web or weave.web<br></div><div><br></div><div data-marker="__QUOTED_TEXT__"><div dir="ltr"><div dir="ltr"><div>On Wed, 25 Mar 2020 at 12:34, Doug McKenna <<a href="mailto:doug@mathemaesthetics.com" target="_blank">doug@mathemaesthetics.com</a>> wrote:<br></div></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">All -<br>
<br>
Line 3115 (or thereabouts) of tangle.web, at, e.g.,<br>
<br>
  <<a href="http://ctan.math.utah.edu/ctan/tex-archive/systems/knuth/dist/web/tangle.web" rel="noreferrer" target="_blank">http://ctan.math.utah.edu/ctan/tex-archive/systems/knuth/dist/web/tangle.web</a>><br>
<br>
is:<br>
<br>
  @ @<If the next text is `|(#)==|'...@>=<br>
<br>
which concerns processing the text of a WEB parametric macro in the input file.<br>
<br>
But if you look at the output in Section 174 of tangle.pdf that this line starts, at (e.g.)<br>
<br>
  <<a href="http://texdoc.net/texmf-dist/doc/generic/knuth/web/tangle.pdf" rel="noreferrer" target="_blank">http://texdoc.net/texmf-dist/doc/generic/knuth/web/tangle.pdf</a>><br>
<br>
you see that the pair of equal signs *within* the typeset module name (and further within an alleged verbatim TeX context!) has been incorrectly replaced with the mathematical equivalence sign '≡'.  The thing is, there are no equivalence signs in the input text of a ".web" file that tangle processes; they are a nicety used by weave to replace certain uses of '==' when typesetting the algorithms.<br>
<br>
This module name in tangle.web is clearly referencing the ASCII character pair, and clearly expecting them to be typeset verbatim, so I would argue that the typeset version of tangle.web is incorrect.<br></blockquote><br><div>A minor matter no doubt, and I'm just commenting from the sidelines, but IMO it seems debatable whether there is anything incorrect here :) If you look at the documentation of WEB, specifically the bottom of page 4: <a href="http://texdoc.net/texmf-dist/doc/generic/knuth/web/webman.pdf#page=4" target="_blank">http://texdoc.net/texmf-dist/doc/generic/knuth/web/webman.pdf#page=4</a> then what it says about the |...| syntax is that things within it are supposed to typeset the way Pascal code is typeset.<br></div><br><div><div><div><img src="cid:ii_k87zwim41" alt="image.png" style="margin-right: 0px;" width="562" height="237"><br></div></div></div><br><div>So when the module name contains |(#) ==| then the way it has been typeset by WEAVE matches that documentation, because that is how the equivalent Pascal code would be typeset by WEAVE. (See also how many other module names are typeset, including 176 which has the same “==”.)</div><div>Perhaps you can argue (and I guess what you're saying is) that Knuth should have chosen a different module name in the source code, as he means those literal characters  rather than Pascal code (e.g. written "\.{(\#) ==}" or something like that: haven't tested this). As the risk of confusion seems low here, this seems up to his judgment or taste, but maybe he would agree :-) </div><br><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
I'm not sure what the fix is, (a) whether it should be on this line 3115 in tangle.web, or (b) if it concerns the logic of how weave.web works when typesetting module names or verbatim quotes inside TeX code inside module names, or (c) if it's some combination of all.<br>
<br>
Or, as sometimes happens, I might be misunderstanding something else.<br>
<br>
Thoughts?<br>
<br>
<br>
FWIW,<br>
<br>
Doug McKenna<br>
<br>
</blockquote></div></div><br></div></div></body></html>