giblib is an utility library that incorporates doubly linked lists,
some string functions, and a wrapper for imlib2.
from Victor Sahlstedt <cvss@home.se>; ok naddy@
The Event module provides a central facility to watch for
various types of events and invoke a callback when these
events occur. The idea is to delay the handling of events
so that they may be dispatched in priority order when it
is safe for callbacks to execute.
from Waldemar Brodkorb <wbx at openbsd.de>
--
CIL (C Intermediate Language) is a high-level representation along
with a set of tools that permit easy analysis and source-to-source
transformation of C programs.
CIL is both lower-level than abstract-syntax trees, by clarifying
ambiguous constructs and removing redundant ones, and also higher-level
than typical intermediate languages designed for compilation, by
maintaining types and a close relationship with the source program.
The main advantage of CIL is that it compiles all valid C programs
into a few core constructs with a very clean semantics. Also CIL
has a syntax-directed type system that makes it easy to analyze and
manipulate C programs. Furthermore, the CIL front-end is able to
process not only ANSI-C programs but also those using Microsoft C
or GNU C extensions.
tla is an Arch CLI written in C.
Arch is a revision control system, i.e. a system that makes it easy to
track changes to computer files, mostly the source code to complex
software systems.
It has the following features that set it apart from other revision
control systems, such as CVS, Subversion or Bitkeeper:
- distributed repositories
- advanced merging capabilities
- low barrier of entry : everybody can easily publish their changes to
others projects. Repositories can be hosted on HTTP, FTP SFTP and
WebDav server.
- renames handled
- archive signing and integrity checking : a facility by which the
integrity of a publicly accessible archive can be verified.
Submitted and maintained by Laurent Cheylus <foxy ta free tod fr>
Embedding tests allows tests to be placed near the code its testing.
This is a nice supplement to the traditional .t files. It's like XUnit,
Perl-style.
This is a simple developer's tool for finding circular references in
objects and other types of references. Because of Perl's reference-count
based memory management, circular references will cause memory leaks.
Assertions are the explict expressions of your assumptions about the
reality your program is expected to deal with, and a declaration of
those which it is not. They are used to prevent your program from
blissfully processing garbage inputs (garbage in, garbage out becomes
garbage in, error out) and to tell you when you've produced garbage
output.
When you're writing unit tests for code that deals with tainted data,
you'll want to have a way to provide tainted data for your routines to
handle, and easy ways to check and report on the taintedness of your
data, in standard Test::More style.
When the code you're testing returns multiple lines, records or data
structures and they're just plain wrong, an equivalent to the Unix
"diff" utility may be just what's needed.
ok sturm@