The files in this directory illustrate various feature of the Moscow ML module language. To try out the example in file.sml simple type: mosml -liberal file.sml or mosml file.sml to have mosml highlight (ie. warn about) any extensions that are used. array.sml - implementing dynamically sized, functional arrays using first-class modules choice.sml - conditional module declarations using first-class modules collect.sml - simple example illustrating the difference between generative and applicative functors and the motivation for supporting both. matrix.sml - implementing dynamically sized, functional matrices using first-class modules (uses array.sml) bootstrap.sml - implementing Chris Okasaki's "bootstrapped heaps" The example uses higher-order functors, applicative functors and recursive structures and signatures to good effect. poly.sml - implementing polynomials using higher-order functors recursion.sml - simple recursive structures and signatures sieve.sml - implementing the Sieve of Eratosthenes using first-class structures