Re: intro(3type) draft

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

 



Hi Alex,

At 2022-11-17T00:13:56+0100, Alejandro Colomar wrote:
> Per the request of Branden that I should discourage programmers of
> writing their manuals with subchapters, which fundamentally means
> discouraging programmers of writing their libraries (or modules, or
> whatever a given language uses) in a way that you can't document a
> header in a single page, I wrote the following introductory page
> intro(3type).
> 
> The caveat that you'll read should go either in all intro([23]\w+)
> pages.  We could put it in the main section into pages too.  I want to
> hear some opinions about this.

I agree with both of those suggestions.

> I used temporarily the term [sub]chapter to see how it fits.

I think the adoption of the term (sub)chapter has a potential benefit in
that it removes a terminological collision with (sub)sections as
subdivisions of individual man pages (man: SH, SS; mdoc: Sh, Ss).

If this terminological reform is adopted, I think it should be done
across all of (1) Linux man-pages, (2) groff, (3) mandoc, and (4)
man-db.  If we can't speak with one voice on this then I think it's
better not to undertake that reform at all, to avoid frustrating the
discoverabilty of man pages.

Possibly the biggest barrier to this is the mnemonic and documentation
of the man(1) '-s' option.  In man-db man, '-C' and '-c' are both
already in use.

Probably a good idea to loop Colin Watson in on this proposal of yours,
which is strictly speaking severable from the below.

Whatever term is settled on, I'll refer to as $SUBDIVISION below.

> intro(3type)                                        intro(3type)
> 
> NAME
>        intro - introduction to library types

More information in the summary description is better for keyword
searches.

I suggest:

**snip**
introduction to data types defined by the C library
**snip**

> DESCRIPTION
>        Subchapter  3type  of the manual describes the types pro‐
>        vided by C libraries.

Now since the description restates the summary description, you'll want
to say something more substantive here.

> CAVEATS

I wouldn't use "CAVEATS" for this, at least not as I rewrote it below.

>        The separation of chapter 3 of this manual into  subchap‐
>        ters  is  only  a  consequence of the organization in the
>        Standard C Library.

I would recast this.

**snip**
$SUBDIVISION 3 of this manual is organized into sub${SUBDIVISION}s to
reflect the complex structure of the standard C library and its many
implementations.  This difficult history frequently makes it a poor
example to follow in design, implementation, and presentation.

Ideally, a library for the C language is designed such that each header
file presents the interface to a coherent software module.  It furnishes
a small number of function declarations and exposes only data types and
constants that are required for use of those functions.  Together, these
are termed an API or _application program interface_.  Types and
constants to be shared shared among multiple APIs should be placed in
header files that declare no functions.  This organization permits a C
library module to be documented concisely with one header file per man
page.  Such an approach improves the readability and accessibility of
library documentation, and thereby the usability of the software.
**snip**

But maybe this material is better placed intro(3) itself, unless you
want a lot of duplication for the sake of getting the message across.

Regards,
Branden

Attachment: signature.asc
Description: PGP signature


[Index of Archives]     [Kernel Documentation]     [Netdev]     [Linux Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux