プログラミング言語SML#解説 3.7.1版
6 SML#プログラミング環境の準備

6.3 SML#の対話型モードを使ってみよう

インストールが終了すると,SML#コンパイラがsmlsharp という名前のコマンドとして使用可能となります. このコマンドをコマンドシェルやEmacsのshellモードから起動すること によって,SML#プログラムをコンパイル,実行できます. もっとも簡単な使用法は,SML#コンパイラを対話モードで実行 することです. smlsharpを引数なしで起動すると,対話モードの起動要求とみな し,起動メッセージを表示しユーザからの入力待ちの状態となります.

$ smlsharp
SML# version 3.7.1 (2021-03-15) for x86_64-pc-linux-gnu with LLVM 11.0.0
#

」はSML#システムが印字するプロンプト文字です. またこの文書では,シェル(コマンド)のプロンプトを「」と仮定します.

この後,コンパイラは以下の処理を繰り返します.

  1. 1.

    区切り文字;まで,端末からでプログラムを読み込む.

  2. 2.

    読み込んだプログラムをコンパイルし,プログラムを呼び出し実行する.

  3. 3.

    プログラムが返す結果を表示する.

以下に簡単な実行例を示します.

# "Hello";
val it = "Hello" : string

最初の行がユーザの入力です. 2行目が,ユーザの入力に対するSML#システムの応答です. この例のように,コンパイラは,プログラムの実行結果に加えコンパイ ラが推論した型を表示します. さらに,実行結果に名前をつけ,これに続くセッションで利用可能にし ます. ユーザによる指定がなければ,itという名前が付けられます.