The Netwide Assembler (NASM) is an x86 and amd64 (x86-64) assembler designed
for portability and modularity. It will output flat-form binary files, a.out
(Linux and *BSD), COFF, ELF32, ELF64, Mach-O, Microsoft OMF (OBJ), Win32,
Win64, as86 (Minix/Linux bin86 v0.3), LADsoft IEEE-695, Intel hex, Motorola
S-record, and a home-grown format called RDOFF. NASM syntax is similar to
Intel's, but is less complex. It supports Pentium, P6, MMX, 3DNow!, SSE,
SSE2, SSE3, SSE4.1, SSE4.2, XOP/FMA4/CVT16 (rev 3.03), and x64 opcodes, among
others. It has strong support for macro conventions.
The port also includes NDISASM, a binary file disassembler which uses the
same instruction set as NASM.
ExtLib is a project aiming at providing a complete - yet small -
standard library for the OCaml programming language. The purpose of
this library is to add new functions to OCaml Standard Library
modules, to modify some functions in order to get better performances
or more safety (tail-recursive) but also to provide new modules which
should be useful for the average OCaml programmer.
ExtLib is not directly related to OCaml authors (INRIA) although this
library can be seen as a proposal for inclusion in the official
distribution.
Algorithm::Accounting provide simple aggregation method to make log
accounting easier. It accepts data in rows, each rows can have many
fields, and each field is a scalar or a list(arrayref).
The basic usage is you walk through all your logs, and use append_data()
to insert each rows, (you'll have to split the line into fields), and
then call result() to retrieve the result, or report() to immediately
see simple result.
You may specify a filed_groups parameter (arrayref of arrayref), and
Algorithm::Accounting will account these fields in groups.
This module will create sorting networks, a sequence of comparisons
that do not depend upon the results of prior comparisons.
There are several algorithms to generate sorting networks. This
module has three of them: Bose and Nelson's, Hibbard's, and
Batcher's Merge Exchange. It also has networks that were found
to be superior in comparison count to those generated automatically
by these algorithms.
There is a flexible formatting function that will allow you to
print out your network in many ways (see documentation). There
is also a graphical output function that will return the network
in an encapsulated postscript, SVG, or text form.
CHI provides a unified caching API, designed to assist a developer in
persisting data for a specified period of time.
The CHI interface is implemented by driver classes that support
fetching, storing and clearing of data. Driver classes exist or will
exist for the gamut of storage backends available to Perl, such as
memory, plain files, memory mapped files, memcached, and DBI.
CHI is intended as an evolution of DeWitt Clinton's Cache::Cache
package, adhering to the basic Cache API but adding new features and
addressing limitations in the Cache::Cache implementation.
Class::Accessor is a great way to automate the tedious task of
generating accessors and mutators. One small drawback is that due to
the details of the implementation, you only get one __ANON__ entry in
profiling output. That entry contains all your accessors, which can be
a real pain if you're attempting to figure out which of your accessors
is being called six billion times. This module is a development aid
which uses Hook::LexWrap and Sub::Name to talk your accessors into
identifying themselves. While it shouldn't add much additional runtime
overhead (as it acts only Class::Accessor's generator functions), it
has not been designed for production deployment.
AUnit is a set of Ada packages based on the xUnit family of unit test
frameworks. It is intended as a developer's tool to facilitate confident
writing and evolution of Ada software. It is purposely lightweight, as
one of its main goals is to make it easy to develop and run unit tests,
rather than to generate artifacts for process management. The framework
supports easy composition of sets of unit tests to provide flexibility
in determining what tests to run for a given purpose.
This is the legacy 2.13 version of autoconf. It is explicitly for use with
older software packages that are not buildable with the current autoconf.
Autoconf is an extensible package of m4 macros that produce shell
scripts to automatically configure software source code packages.
These scripts can adapt the packages to many kinds of UNIX-like
systems without manual user intervention. Autoconf creates a
configuration script for a package from a template file that lists the
operating system features that the package can use, in the form of m4
macro calls.
Automake is a tool for automatically generating Makefiles compliant with
the GNU Coding Standards. It was inspired by the 4.4BSD make and include
files, but aims to be portable and to conform to the GNU standards for
Makefile variables and targets. Automake is a Perl script. The input files
are called Makefile.am. The output files are called Makefile.in; They are
intended for use with Autoconf. Automake requires certain things to be done
in your configure.in. This package also includes the "aclocal"
program. aclocal is a program to generate an 'aclocal.m4' based on the
contents of 'configure.in'. It is useful as an extensible, maintainable
mechanism for augmenting autoconf.
Class::Hook enables you to trace methods calls from your code to other classes.
Instead of putting 'use Foo;' in your code, simply type 'use Class::Hook;'.
The class Foo is unknown in your code. It will be magically caught by
Class::Hook which will call Foo itself. You can see Class::Hook as a kind of
relay.
You can setup a subroutine to be called before any call to Foo->amethod and a
subroutine to be called after the call. Your subs will receive all the
information that Foo->amethod will receive, so you can trace everything
between your code and Foo.