signature SML_OF_NJ =
      structure Cont:
            type 'a cont
            val callcc: ('a cont -> 'a) -> 'a
            val isolate: ('a -> unit) -> 'a cont
            val throw: 'a cont -> 'a -> 'b
      structure SysInfo:
            exception UNKNOWN
            datatype os_kind = BEOS | MACOS | OS2 | UNIX | WIN32

            val getHostArch: unit -> string
            val getOSKind: unit -> os_kind
            val getOSName: unit -> string

      val exnHistory: exn -> string list
      val exportFn: string * (string * string list -> OS.Process.status) -> unit
      val exportML: string -> bool
      val getAllArgs: unit -> string list
      val getArgs: unit -> string list
      val getCmdName: unit -> string

SMLofNJ implements a subset of the structure of the same name provided in Standard ML of New Jersey. It is included to make it easier to port programs between the two systems. The semantics of these functions may be different than in SML/NJ.

  • structure Cont

    implements continuations.

  • SysInfo.getHostArch ()

    returns the string for the architecture.

  • SysInfo.getOSKind

    returns the OS kind.

  • SysInfo.getOSName ()

    returns the string for the host.

  • exnHistory

    the same as MLton.Exn.history.

  • getCmdName ()

    the same as ().

  • getArgs ()

    the same as CommandLine.arguments ().

  • getAllArgs ()

    the same as getCmdName()::getArgs().

  • exportFn f

    saves the state of the computation to a file that will apply f to the command-line arguments upon restart.

  • exportML f

    saves the state of the computation to file f and continue. Returns true in the restarted computation and false in the continuing computation.