Reading up on Subversion, I came across some references to the Apache Portable Runtime Library [L1 ], which is described as follows:
: APR is Apache's portability library, originally carved out of its server code as an attempt to separate the OS-specific bits from the OS-independent portions of the code. The result was a library that provides a generic API for performing operations that differ mildly—or wildly—from OS to OS.
My main reaction to this was "So what? We've got one of these too — perhaps even more portable" (cf. On What Platforms Does Tcl Run), but of course "XXX Portable Runtime Library" sounds a bit snazzier than libtcl.so...
Therefore I think it would be a good idea to collect some information about using Tcl as a C library, but since I haven't had much practical experience in the matter, I'm hoping others can lend a hand in fleshing it out, — Lars H, 2007-11-11.
Features available from the Tcl C library include...
Low level features (meaning roughly you can use them without worrying about the big picture)
Medium level features
High level features
[Tcl] interpreter: You can have none, one, or several; create or destroy dynamically.
[List incomplete. Categorization may be wrong.]
[Would be nice to point out areas where Tcl hides inconsistent behaviour on different platforms. Threads, perhaps?]