Standard ML C
Switch branches/tags
Nothing to show
Fetching latest commit…
Cannot retrieve the latest commit at this time.


   sml-lib          Tom 7                                20 Nov 2010

This is my library for Standard ML, which I use for pretty much every
project. It is essentially a grab-bag library with a write-as-needed
strategy. I import other people's stable libraries (if they have free
licenses) when I use them and then sometimes make them conform to my
personal style, unsophisticated build management practices, or
distaste for boilerplate. Some other people use and contribute to this
library, too (see below). I welcome your contributions as well but I
use a dictatorial strategy for the library's arrangement.

Where not indicated in the accompanying README, these utilities are
licensed with the GNU Public License (GPL). See the file COPYING for
details. Libraries based on other people's code usually use a
different license; please be wary.

The subdirectories are as follows:

 algo - Algorithms (LZW, Heaps, Edit Distance, ...)
 crypt - Cryptographic functions (MD5, SHA-1, DES, ...)
 data - Data structures (functional queue, circular buffer, trie, ...)
 files - Implementations of file formats (XML, MIDI, .wav, ...)
 geom - Geometric algorithms and data structures
 misc - Stuff that didn't fit elsewhere (base64, fixed words, parameter
        parsing, ...)
 mlton - Glue for connecting MLton to external libraries through its 
         FFI (mySql, X Windows)
 njlib - My most-used parts of the SML/NJ library (splay trees)
 parse - Combinator parsing library
 port - A uniform interface to some non-standard features available in 
        several SML compilers
 sound - Libraries for making and processing sound
 text - Utilities for processing text
 util - Utilities that go with existing structures (lists, strings, 
        file system, etc.)
 bdd - Incomplete port of Box2D library (called BoxDiaDia). Does not
       have anything to do with binary decision diagrams, sorry.
       Status as of 20 Nov 2010 is that collisions are complete and
       tested, and dynamics code is mostly complete but not tested

There have been several contributors, some unwitting:

  Dr. Tom Murphy VII Ph.D., CEO
  Jason Reed (miscellaneous contributions during projects)
  Rob Simmons (miscellaneous contributions during projects)
  David Renshaw (miscellanous contributions during projects)
  Chris Martens (miscellaneous contributions during projects)
  SML/NJ team at Bell Laboratories (njlib)
  Sean McLaughlin (Bigword)
  Anthony L Shipman (Original SML Base64 implementation)
  Erin Catto (C++ Box2D author)
  Ruy Ley-Wild (Bresenham algorithm port)
  Makoto Matsumoto and Takuji Nishimura (Mersenne Twister original)
  Andreas Neumann and Alexandru Berlea (FXP XML library)
  Chris Veness (JS Vincenty Algorithm for lat-lon distances)
  Chris Okasaki and Robert Harper and Frank Pfenning (parser combinators)
  Henry Cejtin and Matthew Fluet and Suresh Jagannathan and Stephen Weeks (layout lib)
  Nathan Crawford (C# PEC embroidery file code)