home *** CD-ROM | disk | FTP | other *** search
- *** Quoted from original distribution files ***
-
-
- This tape contains a version of Standard ML for VAX/UNIX 4.2bsd as
- it appears in the revised report after the standardisation meeting
- in May 1985.
-
- Before using the system, you will need to perform the following steps:
-
- 1) Alter the path in the file sml to point to the directory containing
- the SML system.
- 2) Create the abstract machine with the filename fam by renaming a file of
- the form fam.machine, if you are running on a vax, sun, pyramid or gould.
- For any other machine, you will need to run the command 'make fam' in the
- fam.src directory to create a fam file.
- 3) Run the command 'sml sml.exp.backup < Configure.Heap' which should
- produce a file called sml.exp
- 4) The system may then be invoked by executing the file sml .
-
-
- Source files of the abstract machine are in the directory fam.src.
-
-
- This version of Standard ML has a number of known deficiencies including...
-
- - The implementation of sharing of structures and types
- may be flakey.
-
- - The exhaustiveness checking does not always report warnings when it
- should. Furthermore, the algorithm used to check the patterns is
- exponential, although in many cases this is not a problem. As a
- temporary measure, if you encounter a case where this checking takes
- an excessive amount of time, the checking can be temporarily disabled
- using the CheckMatch flag in the Debug variable, e.g.
- ...
- let val {CheckMatch,...} = Debug in CheckMatch := false end;
- < define function that causes the problem >
- let val {CheckMatch,...} = Debug in CheckMatch := true end;
- ...
-
-
- All values in the environment are accessible from one of the structures
- Pervasives or Extensions (these have been recursively 'opened').
- Thus, nil may be referred to by any of nil, List.nil or Pervasives.List.nil
- for example.
-
- There are a few non-standard features that are available,
- including
-
- ExportML : string * string * string list -> unit
- This takes a file name, a banner message, and a list of files
- to load on start-up, and saves away the current state of the system
- in the file with the given file name. Assuming that a saved state
- was placed in file fred.exp, then it may be restarted by
- executing "sml fred.exp".
- Any streams that were open when the export occurred will fail
- with the error "stream link lost" if used when the state
- is reimported. 'New' versions of std_in and std_out may be
- obtained by calling the function stdio: unit -> (instream * outstream).
-
- Print and Debug are variables that affect the underlying compiler.
- They are records, and the field names should indicate what most
- of the fields do.
-
- The basic I/O package is implemented, but not the extended I/O
- primitives.
-
- Equality types are supported, as is a derived form for record
- selection ( #a is a function that extracts the field a from a
- record).
-
-
- Please report any other faults encountered to
-
- N. Rothwell
- Computer Science Department,
- Edinburgh University.
-
- UUCP: ... mcvax!ukc!{hwcs,kcl-cs,ucl-cs,edcaad}!cstvax!nick
- ARPA: nick%cstvax.ed@ucl-cs.arpa
- TEL: +44 31 667 1081 ext. 2697
-
- *** end of quotation ***
-
-
-
-
-
-
-
-
-
-
-