SML(1)

πŸ“¦
version 110.99.9 Β· 2 versions
, in arch rolling

πŸ’… SML(1) β€” like, the interactive Standard ML of New Jersey system, bestie ✨

okay so this is the manual page for sml (section 1 of the manual, iykyk), and it's genuinely iconic β€” it's the whole interactive Standard ML of New Jersey situation. Let me walk you through it, no cap. 🫢


🌸 SYNOPSIS 🌸

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

that's the whole vibe. options first, files after, slay. πŸ’…


✨ DESCRIPTION ✨

Standard ML of New Jersey is an incremental, interactive compiler that accepts SML declarations and expressions to be evaluated from standard input. so like β€” you type stuff at it, it eats it, it evaluates it, it's giving REPL main character energy. πŸŽ€


πŸ¦‹ OPTIONS πŸ¦‹

bestie there are SO many of these, and you will be reading all of them, because I said so πŸ’–

  • -32 β€” run the 32-bit version of the SML/NJ system (currently the default). classic, reliable, the default bestie fr fr.
  • -64 β€” run the 64-bit version of the SML/NJ system. ⚠️ this one only applies to the x86-64 (aka amd64) architecture, so don't come for it if you're on something else.
  • @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.9") to standard output and then exit. cute little flex, honestly.
  • @SMLload=IMAGE β€” specifies the name of the heap-image file to load. the heap suffix can be omitted as long as 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 preferred size of the allocation area.
  • @SMLrun=RUNTIME β€” specifies the runtime system.
  • @SMLquiet β€” load heap image silently (this is the default, so, yeah, it's already chill).
  • @SMLverbose β€” show heap image load progress. for when you need to see the loading happening πŸ“
  • @SMLobjects β€” show list of executable objects.
  • @SMLdebug=FILE β€” write debugging info to file. πŸ™ˆ
  • -Cctl=value β€” set the control ctl to value.
  • -Dname=value β€” define the CM variable name to have the given value.
  • -D'name β€” define the CM variable name to have the value 1. (yes, that's a cute little quote mark in there, don't @ me)
  • -Uname β€” remove any definition of the CM variable name.
  • -H β€” produce complete help listing. the full ✨everything✨ experience.
  • -h β€” produce minimal help listing. lowkey mode.
  • -hlevel β€” help with obscurity limit.
  • -S β€” list all the controls along with their default value.
  • -slevel β€” print a limited list of settings. the number of levels of the control hierarchy is controlled by level, with 0 printing just the root of the hierarchy. 🌈
  • -E β€” list all the controls along with their corresponding environment variables.
  • -elevel β€” print a limited list of environment variables; the number of levels of the control hierarchy is controlled by level, with 0 printing just the root of the hierarchy. (yes it's the -s one but for env vars, they're siblings πŸ’œ)
  • -m β€” switch to CM.make.
  • -a β€” switch to CM.autoload; this is the 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.
fr fr, notice how .sig, .sml and .fun all get use'd before you land in the top-level loop β€” it's giving "prep work before the party" πŸŽ€

πŸ‘‘ AUTHOR πŸ‘‘

sml(1) was originally created by Andrew Appel and David MacQueen in 1987 β€” literal legends, honestly. the system is currently maintained by Matthias Blume, David MacQueen, and John Reppy. 🫢


🧚 SEE-ALSO 🧚

like, go read smlnj(7) too, bestie, it's the whole picture. ✨


πŸ’– 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.

⚠️ okay so real talk: no warranty, not even for merchantability or fitness for a particular purpose. that's not me being dramatic, that's literally what it says. 😭

and that's the whole page, bestie πŸ’… go forth and evaluate some declarations. this was SML/NJ, dated 2025-11-04, and it's page SML(1) of the manual β€” mwah, love u, bye πŸŽ€πŸ¦‹πŸ’œ

πŸ“¦ where this page comes from