libk  Check-in [8618103a4e]

Overview
Comment:fix another typo
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: 8618103a4e00b95c15f008315a664c61290d1d39e1f57b62e428ab27b930c84f
User & Date: lexi on 2019-08-22 20:04:57
Other Links: manifest | tags
Context
2019-08-24
00:20
improve comments check-in: 858eba7607 user: lexi tags: trunk
2019-08-22
20:04
fix another typo check-in: 8618103a4e user: lexi tags: trunk
20:04
fix typo check-in: 957b5fa848 user: lexi tags: trunk
Changes

Modified libk.md from [86030e858e] to [baf7f7fbd2].

30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 8. **modularity.** libk is not part of the C specification and it isn't always going to be practical for developers to expect the entire library to be present on the end-user's computer. so libk is designed to be usable in many different ways -- as a traditional library, as a static library, in full form or with only components needed by the developer, to be distributed either on its own or as part of a binary.
 9. **compatibility.** code that links against libk should be able to compile and run on any operating system. in the ideal case (Linux or FreeBSD) it will be able to do so without touching any other system libraries; for less ideal environments like Windows, libk will when necessary abstract over system libraries or libc itself.
 10. **sane error-handling.** every time you type `errno` god murders a puppy.
 11. **ease of distribution.** libk should enable to user to create completely static binaries, free of any local dependency and trivial to distribute.

# dependencies

libk is designed to be as portable and depedency-free as possible. ideally, it will be possible to compile code against libk using nothing but libk itself.

compiling libk is also designed to be as easy as possible. it has only two external dependencies, the macro processor [m4], needed for compile-time header generation, and optionally the [commonmark] compiler `cmark`, which is only needed if you wish to typeset the documentation in manpage, html, or pdf format. this process also requires `groff`, but `groff` is a standard part of most UNIX systems.

 [m4]: http://www.gnu.org/software/m4
 [commonmark]: http://www.commonmark.org/

a different macro processor, gpp, was used in early versions of libk, however, it was so obscure and took so much overly fragile infrastructure to make it work that the cleaner syntax just wasn't worth it; i've since deleted the gpp infra and ported the macro files to m4.







|







30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
 8. **modularity.** libk is not part of the C specification and it isn't always going to be practical for developers to expect the entire library to be present on the end-user's computer. so libk is designed to be usable in many different ways -- as a traditional library, as a static library, in full form or with only components needed by the developer, to be distributed either on its own or as part of a binary.
 9. **compatibility.** code that links against libk should be able to compile and run on any operating system. in the ideal case (Linux or FreeBSD) it will be able to do so without touching any other system libraries; for less ideal environments like Windows, libk will when necessary abstract over system libraries or libc itself.
 10. **sane error-handling.** every time you type `errno` god murders a puppy.
 11. **ease of distribution.** libk should enable to user to create completely static binaries, free of any local dependency and trivial to distribute.

# dependencies

libk is designed to be as portable and dependency-free as possible. ideally, it will be possible to compile code against libk using nothing but libk itself.

compiling libk is also designed to be as easy as possible. it has only two external dependencies, the macro processor [m4], needed for compile-time header generation, and optionally the [commonmark] compiler `cmark`, which is only needed if you wish to typeset the documentation in manpage, html, or pdf format. this process also requires `groff`, but `groff` is a standard part of most UNIX systems.

 [m4]: http://www.gnu.org/software/m4
 [commonmark]: http://www.commonmark.org/

a different macro processor, gpp, was used in early versions of libk, however, it was so obscure and took so much overly fragile infrastructure to make it work that the cleaner syntax just wasn't worth it; i've since deleted the gpp infra and ported the macro files to m4.