
File:  <whatever>/v2.0/README

Author:  David M. Goblirsch
	 The MITRE Corporation
	 7525 Colshire Drive
	 McLean VA 22102
	 Voice: (703) 883-5450
	 Email: dmgob@mitre.org

	NOTICE: THIS IS COPYRIGHTED FREE SOFTWARE.  YOU MUST READ THE
COPYRIGHT FILE IN THIS DIRECTORY FOR CONDITIONS OF USE.


	This README file is in the main directory of the HMM training
distribution.  This is the directory that the environmental variable
HMMS, referred to in the README file in <whatever>/v2.0/app/test and
in the Makefile in <whatever>/v2.0/src/haskell should be set to:

	% setenv HMMS <whatever>/v2.0

	Note: <whatever> refers to the pathname of the directory in
which you have unloaded this stuff.


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
I.  Overview of Subdirectories
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	Here is a brief description of what is contained in the
subdirectories of this main directory.

----------	--------------------------------------------------
Directory	Purpose
----------	--------------------------------------------------

app		Applications.  The distribution contains only one
		application, a ``test'' application with a 27 word
		vocabulary and 6 example sentences.  The instructions
		for running the programs are in a README file
		in the directory app/test.


bin		Executables.  This directory is initially empty,
		and is filled by moving to the directory src/haskell
		and typing ``make''.  The programs and makefile
		are originally set up for hbc, the Chalmers compiler.
		If you edit the makefile and two of the programs,
		however, you can use ghc v0.19 as well.


doc		Documentation; look for the compressed PostScript
                files.


HMMS		HMM parameters.  The HMM topologies are kept in a
		plain-text file with the extension ``.dgs'' (for
		``digraphs'').  The mixture-tying information is
		kept in a plain-text file with the extension ``.ties''.
		The Gaussian mixture parameters (means, covariances,
		component probabilities) are kept in individual
		binary files in a subdirectory that has the same
		root name as the .dgs and .ties files.
		[renamed from "hmms" by partain]


lib		General purpose library modules.  The haskell library
		is created by moving to the directory lib/haskell
		and typing ``make''.  NOTE:  The library must be made
		before the programs in the bin directory!  Also,
		the Makefile is configured for hbc; it needs to be
		edited to use ghc.


src		The subdirectory ``haskell'' contains the HMM training
                program source code in Haskell v1.2. 


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
II. USAGE
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

	This distribution contains the Haskell programs from an HMM
design suite that has been developed at MITRE as part of our
internally funded research program.

        Step 1.  In this directory, define the environmental
        variables HMMS by
        
                % setenv HMMS `pwd`


        Step 2.  cd to lib/haskell and type ``make''


        Step 3.  cd to src/haskell and type ``make''.

        NOTICE: The makefiles are configured for the Chalmers
distribution, hbc.  But there are commands for using the Glasgow
distribution, ghc; just edit the makefiles to comment and uncomment
the appropriate lines.

        WARNING: The program requires hbc 0.999.4 because the HMM
digraphs file includes the association operator `:=' in the data
representation, which will not be read properly by hbc 0.999.5.  If
you don't have access to 0.999.4, you'll have to modify the
representation by using a different operator in the class Text and
modifying the appropriate functions.


        Step 4.  cd to app/test and read the file README to see
        how to proceed to test the software up through the program
        BatchAlign.

        WARNING:  We do not provide enough data to test the program
        ComputeNewDgs.


end of main README

