Hi Branden, > Date: 2026-08-29 14:16:39-0500 > From: "G. Branden Robinson" <[email protected]> > [...] > > > The mandoc(1) -T man output mode uses > > > [...] > > > > Oh, there's a -Tman mode! That's interesting! Some years ago, > > I wondered whether groff(1) could have a -Troff mode, which would > > evaluate the man(7) (or any other -m macros, FWIW) macros without > > formatting the document. > > I know of no troff that permits this. In interpretation mode (that is, > "not copy mode"), interpolation and transformation of tokens to nodes > are both operations that occur at the earliest possible opportunity > while interpreting the input stream. > > In the past year or so I have revised groff's Texinfo manual to give the > formatter's internals better coverage. > > ---snip--- [...] > ---end snip---- > > GNU troff's ability to recursively dump string/macro/diversion, > user-defined character, and pending output line contents as a forest of > JSON nodes was a major new feature of groff 1.24. > > It's not the same thing by any means as a "wholly macro expanded > document", but given how dynamic a language *roff is, I'm not sure the > goal you had in mind is possible. A language theorist might be able to > help me devise a proof one way or the other. > > Nevertheless, the recursive node dumping feature, as with other new > debugging requests in groff 1.24, forces the formatter to disclose the > truth about its internal state to a degree unprecedented in *roff. > > (I'll just be shampooing out the pomade and taking this plaid blazer off > now, thanks.)
I'll keep poking you about it from time to time, hoping some day you'll have the internal tools to implement this. :) [...] > Description > The Blertch language supports the following operators. > > a + b > a - b > a * b > a / b > a % b > > It also supports the unary plus and minus operators. > > +a > -a > > Operator overloading is not implemented. > > Blertch language reference 2026‐08‐29 blertch(7) > > I can imagine a counterargument. > > "But why support interrupting the list that way? It's _really_ two > lists, so the document author should have to close off the first list > with `LE`, do their 'interrupting' paragraph, then start a new list with > `LS`." Indeed, I believe this is two lists. > I say no. > > The purpose of the macro package is to serve the technical writer and > aid them to communicate. It is not to serve the HTML/XML weenie who > wants all their tags nested in some canonical fashion. Sometimes, > technological constraints will propagate backward to our language > designs. But that's a phenomenon to be regretted, not leaned into. Hmmmm, I'm not convinced we should support this, but I don't care too much about it either. Have a lovely night! Alex -- <https://www.alejandro-colomar.es>
signature.asc
Description: PGP signature
