On Tue, Mar 04, 2014 at 12:57:20AM -0500, Eric S. Raymond wrote: > Peter Schaffter <pe...@schaffter.ca>: > : > > Corollary to acknowledging that groff's primary role is as a > > typesetting backend is keeping debates about manpages, semantically > > useful macros, and well-formed input files distinct from discussions > > about code development. What goes on in macroland should stay > > in macroland. > > Again, I agree. Thus my hygiene proposal; that's how we keep the > macroland abstractions from being violated (when it's a good idea > to enforce that, which is admittedly not always).
>>> On Tue, Feb 25, 2014 at 11:06:09AM -0500, Eric S. Raymond wrote: >>> Now let us imaging adding two primitives to groff: >>> >>> 1. Declare hygienic. Takes a request or macro name, sets a 'hygienic' >>> bit on it. >>> >>> 2. Enable hygienic node. After this point, all explicit requests without >>> their hygienic bit set are disabled and cause a fatal error. They >>> can only be used within hygienic macro expansions. >>> >>> Given this pair of primitives, backward compatibility and the goal of >>> achieving semantic markup in groff would no longer be in conflict. >>> Instead, macro packages get to choose where they sit on the >>> structured-vs.-expressive continuum by what set of requests they >>> allow. > > If others on the list are prepared to make--and debate--"big > > picture" suggestions for a statement of this sort, I will see to > > the compiling and writing of it. > All hail the new project leader! :-) I propose the hygienic feature as a first project after we agree on the mission statement. \# declare all groff macros hygienic, default .hygienic ON GROFFALL \# declare all groff macros not hygienic \# excludes .hygienic .hygienic OFF GROFFALL \# change given macros hygienic modes .hygienic { OFF | ON } macroname ... .macroset macrosetname macroname ... ? .hygienic { OFF | ON } macrosetname ... ? \# set hygienic mode .hygienic { DISABLE | ENABLE } It would help me stay disciplined in my own macro packages. -- Mike Bianchi Foveal Systems 973 822-2085 mbian...@foveal.com http://www.AutoAuditorium.com http://www.FovealMounts.com