File mosml/examples/README

The subdirectories contain various example programs in Standard ML.

Each example can be compiled by going to the subdirectory and
executing `make' from the command line, or by following
the instructions in the README file.


calc            An calculator for simple arithmetic expressions.
                Illustrates the use of mosmllex and mosmlyac
                (adapted from Caml Light).

cgi             Two CGI scripts written in Moscow ML using the Mosmlcgi
                library, and associated HTML files.

lexyacc         Lexer and parser for a small functional language.
                A larger example of the use of mosmllex and mosmlyac.

manual          A variant of the small batch compilation example from 
                the manual, implemented using structure-mode units only.
                Illustrates the use of Makefiles and mosmldep dependency 
                inference for programs consisting only of flat 
                structure-mode units.

mls             A simple utility for producing a sorted directory listing
                (like `ls' in Unix and `dir' in DOS).
                Illustrates the use of the FileSys library.

modules         Various toy examples illustrating Moscow ML's Modules 
                language, an extension of Standard ML's Modules language.
                These are small examples without Makefiles.
               
msp             ML Server Pages. A loose integration of Standard ML
                (SML) and HTML in the style of Sun's Java Server
                Pages, Microsoft's Active Server Pages, or PHP.

parsercomb      An implementation of Hutton/Paulson-style parser
                combinators for Moscow ML, based on work by Fritz
                Henglein, Ken Friis Larsen, and Peter Sestoft.  

paulson         Sample Standard ML programs (both Core and Modules) 
                from the book:
                Lawrence C. Paulson, ML for the Working Programmer,
                Second edition.  Cambridge University Press 1996, ISBN
                0-521-56543-X.  
                These are large examples without a Makefile.

pretty          Prettyprinting of simple arithmetic expressions, and 
                printing of integers as Roman numerals. Illustrates the 
                use of installable prettyprinters.

small           Various smaller examples without Makefiles.

units           The small batch compilation example from the manual.
                Illustrates the use of Makefiles and mosmldep for 
                constructing dependencies for a program with mixed-mode 
                compilation units. 

weak            An example application of weak pointers.

webserver       Three simple webservers (HTTP servers) written using the 
                Socket library.
