# SML(1) Manual Page

## NAME

sml - the interactive Standard ML of New Jersey system

## SYNOPSIS

sml [SML-OPTIONS] [OPTIONS] [FILES]

## DESCRIPTION

Standard ML of New Jersey is an incremental, interactive compiler that accepts SML declarations and expressions to be evaluated from standard input.

## OPTIONS

-32

  run the 32-bit version of the SML/NJ system (currently the default).

-64

  run the 64-bit version of the SML/NJ system. This option only applies to the x86-64 (aka amd64) architecture.

@SMLwordsize

  echo the wordsize (i.e., either `32` or `64`) of the system to standard output and then exit. (This option was added in version 110.97).

@SMLversion

  echo the command name and SML/NJ version (e.g., "`sml 110.99.4`") to standard output and then exit.

@SMLload=IMAGE

  specifies the name of the heap-image file to load. The heap suffix can be omitted as long as there there is not a file of the same name.

@SMLcmdname=NAME

  set the command name; this is the value returned by `CommandLine.name()`.

@SMLsuffix

  echo the heap suffix for the system to standard output and then exit

@SMLalloc=SIZE

  Specify the prefered size of the allocation area

@SMLrun=RUNTIME

  specifies runtime system

@SMLquiet

  load heap image silently (default)

@SMLverbose

  show heap image load progress

@SMLobjects

  show list of executable objects

@SMLdebug=FILE

  write debugging info to file

-C ctl=value

  set the control ctl to value.

-D name=value

  define the CM variable name to have the given value.

-D'name

  define the CM variable name to have the value 1.

-U name

  remove any definition of the CM variable name.

-H

  produce complete help listing

-h

  produce minimal help listing

-h level

  help with obscurity limit

-S

  list all the controls along with their default value

-s level

  print a limited list of settings. The number of levels of the control heirarchy is controled by level, with 0 printing just the root of the heirarchy.

-E

  list all the controls along with their corresponding environment variables

-e level

  print a limited list of environment variables; The number of levels of the control heirarchy is controled by level, with 0 printing just the root of the heirarchy.

-m

  switch to CM.make

-a

  switch to CM.autoload; default

file.cm

  run `CM.make` or `CM.autoload` on file.cm and then return to the SML prompt. Which command is run is determined by the -m and -a flags.

file.sig

  execute `use` file.sig before entering the SML top-level loop.

file.sml

  (use) execute `use` file.sml before entering the SML top-level loop.

file.fun

  (use) execute `use` file.fun before entering the SML top-level loop.

## AUTHOR

sml(1) was originally created by Andrew Appel and David MacQueen in 1987. The system is currently maintained by Matthias Blume, David MacQueen, and John Reppy.

## SEE-ALSO

smlnj(7)

Standard ML of New Jersey website

## COPYING

Copyright © 2020 The Fellowship of SML/NJ

This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.