This package provides a set of helper programs necessary to build the
Gtk2Hs suite of libraries. These tools include a modified c2hs binding
tool that is used to generated FFI declarations, a tool to build a type
hiearchy that mirrors the C type hiearchy of GObjects found in glib, and
a generator for signal declarations that are used to call back from C to
Haskell. These tools are not needed to actually run Gtk2Hs programs.
Lazy SmallCheck is a library for exhaustive, demand-driven testing of
Haskell programs. It is based on the idea that if a property holds for
a partially-defined input then it must also hold for all fully-defined
refinements of the that input. Compared to `eager' input generation as
in SmallCheck, Lazy SmallCheck may require significantly fewer
test-cases to verify a property for all inputs up to a given depth.
libxo - A Library for Generating Text, XML, JSON, and HTML Output
The libxo library allows an application to generate text, XML, JSON,
and HTML output using a common set of function calls. The application
decides at run time which output style should be produced. The
application calls a function "xo_emit" to product output that is
described in a format string. A "field descriptor" tells libxo what
the field is and what it means.
GNU Emacs modes for Git-related files.
* git-commit-mode - A major mode for editing Git commit messages
according to the guidelines by Tim Pope.
* git-rebase-mode - A major mode for git-rebase-todo files created by
git rebase -i
* gitconfig-mode - A 'conf-mode'-derived major mode for editing
.gitconfig files.
* gitignore-mode - A 'conf-mode'-derived major mode for editing
.gitignore files.
* gitattributes-mode - A major mode for editing .gitattributes files.
nPth - The New GNU Portable Threads Library
This is a library to provide the GNU Pth API and thus a non-preemptive threads
implementation.
In contrast to GNU Pth is is based on the system's standard threads
implementation. This allows the use of libraries which are not compatible to
GNU Pth. Experience with a Windows Pth emulation showed that this is a solid
way to provide a co-routine based framework.
From the README file for AppConfig:
AppConfig is a Perl5 module for managing application configuration
information. It maintains the state of any number of variables and
provides methods for parsing configuration files and command line
arguments.
Variables values may be set via configuration files. Variables may be
flags (On/Off), take a single value, or take multiple values stored as a
a list or hash. The number of arguments a variable expects is determined
by its configuration when defined.
The Class::Delegation module simplifies the creation of delegation-based
class hierarchies, allowing a method to be redispatched:
* to a single nominated attribute,
* to a collection of nominated attributes in parallel, or
* to any attribute that can handle the message.
These three delegation mechanisms can be specified for:
* a single method
* a set of nominated methods collectively
* any as-yet-undelegated methods
* all methods, delegated or not.
Class related functionality in Perl is broken up into a variety of
different modules. Class::Handle attempts to provide a convenient
object wrapper around the various different types of functions that can
be performed on a class.
Currently, Class::Handle provides what is effectively a combined API from
UNIVERSAL, Class::ISA and Class::Inspector for obtaining information
about a Class, and some additional task methods, such as load to common
tasks relating to classes.
The Proc::Simple package provides objects that model real-
life processes from a user's point of view. A new process
object is created by
$myproc = Proc::Simple->new();
Either shell-like command lines or references to perl
subroutines can be specified for launching a process in
background. A 10-second sleep process, for example, can
be started via the shell as
$myproc->start("sleep 10");
or, as a perl subroutine, with
$myproc->start(sub { sleep(10); });
Term::UI is a transparent way of eliminating the overhead of having to
format a question and then validate the reply, informing the user if the
answer was not proper and re-issuing the question.
Simply give it the question you want to ask, optionally with choices the
user can pick from and a default and Term::UI will DWYM.
For asking a yes or no question, there's even a shortcut.