インストールが終了すると,SML#コンパイラがsmlsharp という名前のコマンドとして使用可能となります. このコマンドをコマンドシェルやEmacsのshellモードから起動すること によって,SML#プログラムをコンパイル,実行できます. もっとも簡単な使用法は,SML#コンパイラを対話モードで実行 することです. smlsharpを引数なしで起動すると,対話モードの起動要求とみな し,起動メッセージを表示しユーザからの入力待ちの状態となります.
$ smlsharp
SML# version 4.2.0 (2025-03-24) for x86_64-pc-linux-gnu with LLVM 20.1
#
「# 」はSML#システムが印字するプロンプト文字です. またこの文書では,シェル(コマンド)のプロンプトを「$ 」と仮定します.
この後,コンパイラは以下の処理を繰り返します.
区切り文字;まで,端末からでプログラムを読み込む.
読み込んだプログラムをコンパイルし,プログラムを呼び出し実行する.
プログラムが返す結果を表示する.
以下に簡単な実行例を示します.
# "Hello";
val it = "Hello" : string
最初の行がユーザの入力です. 2行目が,ユーザの入力に対するSML#システムの応答です. この例のように,コンパイラは,プログラムの実行結果に加えコンパイ ラが推論した型を表示します. さらに,実行結果に名前をつけ,これに続くセッションで利用可能にし ます. ユーザによる指定がなければ,itという名前が付けられます.