Home > missinglib

missinglib

Missinglib is a project mainly written in OCaml, based on the GPL-2.0 license.

OCaml utility library (unmaintained)


What is Missinglib?

It's a collection of OCaml-related utilities. The following modules are are provided:

AnyDBM Generic interface for on-disk storage of key/value data

AnyDBM_String AnyDBM module for simple CSV-style storage

Compose Utilities for chaining functions together

Composeoper Haskell-like operators for chaining functions

ConfigParser System for parsing configuration files These configuration files can have multiple sections and resemble .INI files. This module is designed to be mostly compatible with Python's ConfigParser module.

Fileutil File-related utilities

Hashtbloper Hash table convenience operators

Hashtblutil Hash table utilities

Lexingutil Lexing-related utilities

Listutil List-manipulation utilities Functions are provided to help extract portions of lists and be more convenient for association lists. Also, lists of strings or chars can be written directly to output channels.

Slice Underlying API for Slice operators

Sliceoper Flexible subparts of arrays, lists, and strings

Streamutil Stream parser, conversion, and creation utilities Provides features to create streams the yield the lines of an input channel, the blocks of an input channel, convert finite streams to lists, map and filter streams (similar to those functions on lists), and fold streams.

Strutil String-related utilities Includes functions to strip whitespace from the beginning or end of strings, to split strings into lists by whitespace or a custom delimeter, etc.

Unixutil Operating system utilities Includes functions to process directories (possibly recursively), test for file existence, and an implementation of "rm" with "-r" and "-f" options.

The entire library has no prerequisites save the OCaml standard library and findlib and is designed to install without complexity on a variety of systems. It could also easily be embedded within your own source trees so that users need not have it installed beforehand.

** THIS IS CURRENTLY ALPHA-QUALITY CODE; MAJOR API FLUCTUATIONS MAY YET OCCUR.


Quick Start

  1. Make sure you have OCaml 3.07 or above and findlib 0.3.1 or above installed. You can obtain findlib from http://www.ocaml-programming.de/packages/

  2. Run "make"

  3. Optional: "make test"

  4. As root: "make install"


Usage in programs

You can compile your .ml files to .cmo with this:

ocamlfind ocamlc -package missinglib -c test.ml

or:

ocamlfind ocamlopt -package missinglib -c test.ml

Then, you can link them with:

ocamlfind ocamlc -package missinglib -linkpkg -o test test.cmo

or:

ocamlfind ocamlopt -package missinglib -linkpkg -o test test.cmx

If you prefer to compile and link all at once, use:

ocamlfind ocamlc -package missinglib -linkpkg -o test test.ml

or

ocamlfind ocamlopt -package missinglib -linkpkg -o test test.ml

In the OCaml top-level interpreter "ocaml", you can use:

use "topfind";;

require "missinglib";;

Then continue like normal.


Documentation

You can generate it in HTML with:

cd libsrc; make htdoc

You could instead build the PDF version with:

cd libsrc; make pdfdoc

Also available online at the package's homepage (see below)


Author & Homepage

Missinglib was written by John Goerzen [email protected].

The latest version may be obtained at:

gopher://quux.org/1/devel/missinglib

or:

http://quux.org/devel/missinglib

Documentation is also available on that page.

This program is copyrighted under the terms of the GNU General Public License. See the COPYRIGHT and COPYING files for more details.

If the GPL is unacceptable for your uses, please e-mail me; alternative terms can be negotiated for your project.

arch-tag: general information