groff
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Groff] Hygienic mode design


From: Eric S. Raymond
Subject: Re: [Groff] Hygienic mode design
Date: Tue, 4 Mar 2014 22:16:15 -0500
User-agent: Mutt/1.5.21 (2010-09-15)

Ingo Schwarze <address@hidden>:
> OK, so i'm using a macro set -mstrict that uses .hygiene
> and doesn't declare the roff .dirty request as hygienic.
> 
> Now i make up my mind that using .dirty inside my document
> would really be convenient.  Here is how i do it:
> 
>   .de clean
>   .dirty
>   ..
>   .clean

What makes you sure .de will be enabled?  I expect it won't be, normally.
It's not required for man pages, which are my paradigm case for this
feature.

I'll explain and justify that claim in my next post.

> My gut feeling is that your idea sounded cunning at first,
> but is going to end up as a failure.  It looks likely that
> you might end up inciting people to devise workarounds,
> which will make actual documents even more ugly and miss
> the original goal of restricting access to low-level requests.
> If you allow additional macro sets to define additional macros
> in terms of unhygienic low-level requests, how do you hope
> to prevent documents from doing the same?

By disabling definitions.  :-)

> It looks like you are trying to solve a social problem -
> design your documents in a responsible way, think about
> which low-level features you are using and what the consequences
> are - using technical means, i.e. actually technically preventing
> authors from using stuff.

I take this criticism seriously.  You may be right.  But I'm going to finish
sketching and testing a design and present it for review anyway.  We 
may be able to develop something with a useful set of properties even if
is not a perfect solution.

> Maybe what is needed here is not technical restrinctions in the
> actual language, but just simple, stand-alone validator(s)
> telling authors "yes, your document is clean -mstrict" or "no,
> please consider not using .dirty on line 321 if you expect
> this to work with all (in particular semantic) -mstrict parsers".

This would seem a more attractive idea to me if I had not already
written something very like such a validator and observed the results
of trying to get people to use it.

This sentence replaces a detailed explanation of that experience, which
I will expand on in my next post.  

For now, I'll just say this: the man page corpus is now in a state
where moral 'suasion over the last ten years has done a *great deal* to
clean up the swamp. Most projects have played nice with me about this,
and the main problem in seeing results has been long distro update cycles.

The remaining problem cases are shipped by maintainers who are going
to need a painful stimulus - something breaking on them - before they'll
bother to clean up their act.
-- 
                <a href="http://www.catb.org/~esr/";>Eric S. Raymond</a>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]