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

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

      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
   end

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 CommandLine.name ().

  • 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.