A common problem is the desire to have an action run at a scheduled
interval, but only if it is needed. This library allows you to define
actions which will either be performed by a dedicated thread or, in
times of low volume, will be executed by the calling thread.
A simple directory-like tree datatype, with useful IO functions and
Foldable and Traversable instance. Provides a simple data structure
mirroring a directory tree on the filesystem, as well as useful
functions for reading and writing file and directory structures in the
IO monad.
The haskell-src package provides support for manipulating Haskell source
code. The package provides a lexer, parser and pretty-printer, and a
definition of a Haskell abstract syntax tree (AST). Common uses of this
package are to parse or generate Haskell 98 code.
hslogger is a logging framework for Haskell, roughly similar to Python's
logging module.
hslogger lets each log message have a priority and source be associated
with it. The programmer can then define global handlers that route or
filter messages based on the priority and source. hslogger also has a
syslog handler built in.
This library provides a quick-and-dirty (but often effective) method for
extending Haskell's syntax using a custom preprocessor. It parses
Haskell into a bare-bones AST with just enough knowledge of the syntax
to preserve nesting, and then allows transformations on the AST.
ANTLR, ANother Tool for Language Recognition, is a language tool that
provides a framework for constructing recognizers, interpreters,
compilers, and translators from grammatical descriptions containing
actions in a variety of target languages. ANTLR provides excellent
support for tree construction, tree walking, translation, error
recovery, and error reporting.
This package provides the ANTLR v3 C runtime library.
Check is a unit test framework for C. It features a simple interface for
defining unit tests, putting little in the way of the developer. Tests are run
in a separate address space, so Check can catch both assertion failures and code
errors that cause segmentation faults or other signals.
libevdev is a wrapper library for evdev devices. It moves the common
tasks when dealing with evdev devices into a library and provides a
library interface to the callers, thus avoiding erroneous ioctls, etc.
The eventual goal is that libevdev wraps all ioctls available to evdev
devices, thus making direct access unnecessary.
The libmba package is a collection of mostly independent C modules potentially
useful to any project. There are hashmap, linkedlist, and stack ADTs, a DOM-
like interface that can load and store XML files for simple XML processing, a
module for managing error codes and associated messages across separate C
libraries, and more.
VISA is a multivendor standard for interfacing test and measurement
equipment.
LibreVISA aims to be a compliant implementation of the VISA standard in
a free software library. Currently support for targets connected via USB,
exposing the USBTMC interface, and VXI-11 devices.