4 The MLWorks Interactive Environment Library

4.1 Introduction

The MLWorks interactive environment library is built in to MLWorks, in the permanently available structure Shell. It provides a number of facilities for customizing the behavior of the MLWorks interactive environment.

The interactive environment library is only available in the interactive context, that is, it is not available to the MLWorks batch compiler, and no separate file versions of its units are provided.

The Shell structure has the following skeletal signature:

signature Shell = 
 sig
   structure Build
   structure Debug
   structure Dynamic
   structure Editor
   structure File
   structure Inspector
   structure Options
   structure Path
   structure Profile
   structure Timer
   structure Trace
   val exit: int -> unit
   val saveImage: (string * bool) -> unit

val startGUI: unit -> unit end

The top-level functions exit, saveImage and startGUI relate to the interactive environment.

The structures Path, Build and File provide a programmatic interface to the file-based portion of the MLWorks compilation system. Much of the functionality provided by these structures is also available in the GUI environment via the compilation manager tool.

The structures Debug and Trace provide an interface to parts of the MLWorks debugger and tracer tools, while the structures Profile and Time provide an interface to the profiler. The Inspector structure provides an interface to the inspector tool.

The Options structure controls the settings of many optional features and parameters of the MLWorks interactive environment, such as the way ML values are printed, and whether compilation should be compatible with features of other ML implementations or of earlier versions of the Definition of Standard ML.

The Editor structure provides an interface to the MLWorks custom editor facility.

Finally, the Dynamic structure provides an experimental implementation of dynamic types.


MLWorks Reference Manual (version 1.0) - 3 DEC 1996

Generated with Harlequin WebMaker