Missinglib is a project mainly written in OCaml, based on the GPL-2.0 license.
OCaml utility library (unmaintained)
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.
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/
Run "make"
Optional: "make test"
As root: "make install"
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:
Then continue like normal.
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)
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