Prerequisites

DomTool minimally requires an SML compiler, libpcre for regex handling, libssl for communications, and rsync to publish configuration.

For Debian, the following packages are required for a standard build:

mlton libpcre3-dev libssl-dev ml-nlffigen ml-yacc rsync

You may optionally install SML/NJ packages for interactive development:

smlnj libmlnlffi-smlnj

1. A Note On Compilers

To compile the standalone DomTool tools, you will need the MLton Standard ML compiler. It's available as Debian package mlton.

To use DomTool from an interactive SML REPL session, you will need a recent version of Standard ML of New Jersey. Version 110.74 is sufficient, so packages in Debian 6 and above are adequate, for other distributions you may need to compile it manually.

Why am I referencing two different compilers here? Well, developing with SML/NJ and building release binaries with MLton is standard practice in the SML world. SML/NJ supports separate compilation and interactive use, which are very helpful during development. MLton is a whole-program optimizing compiler that produces extremely efficient binaries, at the cost of much greater compile-time time and memory usage than SML/NJ.