Standard ML Software


All code in this section runs in the latest working version of Standard ML of New Jersey.

Various libraries generated via ML-NLFFIGEN Here are some libraries which I have generated using ML-NLFFIGEN.
A RegExp library This is an expanded regular expression library which is upwardly compatible with the RegExp library in smlnj-lib. It contains a perl-like regular expression matcher and a new DFA based matcher with much lower start-up cost than the old one. Download the tarball here.
A stream library This library lets you make TextIO streams out of everything: pipes, sockets, etc.
  1. Version 0.2
A simple printf library This is a very tiny implementation of Olivier Danvy's ``Functional Unparsing'' combinators.
  1. Version 0.1
The ``nowhere'' tool I have written a simple source-to-source tool for translating SML with where clauses (guards on patterns) into standard SML. So you can write constructs such as
   case x of
     [1,2,x] where x > 3 => e1
   | _  => e2
in your SML programs. Starting from version 110.38 onward, it comes with the standard SML/NJ distribution. Just add the target nowhere when you install your sml/nj. Give it a whirl and let me know what the think.

Back to my home page.