last update: October 2, 2012

Windows+MinGW 環境で SML# 1.1.0 をインストールするページです。

SML# のページ


1. MinGW のインストール

MinGW のダウンロード

MinGW のページ http://mingw.org/ に行き、左下の Navigation カテゴリ内の Downloads へアクセスします。

MinGWページ

最新版のインストーラをダウンロードし、実行します。

MinGWダウンロード

MinGW のセットアップ

最初の画面

インストーラの指示にしたがって、MinGW および MSYS のセットアップを行います。

パッケージ更新の確認

Download latest repository catalogues を選択すると最新のパッケージカタログを取得することができますが、セットアップ後に端末上から同様のことが行えるので、任意に選択してください。

ライセンス同意

ライセンス条項に目を通し I accept the agreement を選択して次へ進みます。

インストール先の指定

MinGW のインストール先のディレクトリを指定します。

空白文字や全角文字、特殊文字・記号などが含まれると不都合な場合が多いので、既定のディレクトリ (C:\MinGW) を強く推奨します。

インストールするソフトウェアの選択

インストールするコンパイラ等を必要に応じて選択します。

SML# の動作にはC言語コンパイラ (gcc) が必須なので、C Compiler に必ずチェックが入っていることを確認します(デフォルトでチェックが入っているので、間違えて外さないようにしましょう)。

また、シェル環境を使用するために MSYS Basic System も選択してください。こちらはデフォルトではチェックが入っていないため、忘れずに確認しましょう。

確認画面

セットアップ内容を確認します。

「Installing」に C Compiler, MSYS Basic System があることと、「Destination location」に表示されているインストール先パスを確認してください。

「Install」ボタンをクリックするとインストール作業が開始します。

セットアップ中。。

インストールが正常に進行している場合、パッケージのダウンロード・インストール作業の様子がコマンドプロンプト上に表示されます。

スタートメニュー

インストールが完了しました。

スタートメニューの MinGW Shell からシェルを起動することができます。

スタートメニューフォルダの指定で「Don't create a Start Menu folder」をチェックした場合は作られません。 その場合は、C:\MinGW\msys\1.0\msys.bat をクリックして起動します(C:\MinGW にインストールした場合)。

2. SML#パッケージ情報の設定

MinGW にはパッケージ管理システム mingw-get が付属しています。 パッケージ情報を設定することで、SML# のインストールを mingw-get によって自動で行うことができます。

mingw-get が扱うパッケージ情報は profile.xml に記述されており、SML# パッケージの設定をこのファイルに追加します。 このファイルは、MinGW を C:\MinGW にインストールした場合、

C:\MinGW\var\lib\mingw-get\data
というディレクトリに存在します。 XML ファイルはブラウザに関連付けられていることが多いですが、内容を編集するためにテキストエディタ等で開いてください。

profile.xml

<profile> 要素の中に以下の要素を追加します。

<repository uri="http://www.pllab.riec.tohoku.ac.jp/smlsharp/download/mingw32/%F.xml.lzma">
  <package-list catalogue="smlsharp-package-list" />
</repository>

"<profile>要素の中" とは、<profile> と </profile> で囲まれる部分を指します。 例えば下図のように別の <repository> 要素と並列するように追加し、上書き保存します。

profile.xml追記例

MSYS Shell を起動し、以下のコマンドを実行します。

$ mingw-get update
$ mingw-get install smlsharp

以下のような出力とともに、SML# 本体と必要なライブラリ (GMP) がインストールされます。

http://prdownloads.sourceforge.net/mingw/libgmp-5.0.1-1-mingw32-dll-10.tar.lzma?download
155.29 kB / 155.29 kB   |================================================| 100%
http://prdownloads.sourceforge.net/mingw/gmp-5.0.1-1-mingw32-dev.tar.lzma?download
36.69 kB / 36.69 kB     |================================================| 100%
http://www.pllab.riec.tohoku.ac.jp/smlsharp/download/smlsharp-1.1.0-1-mingw32-bin.tar.lzma
4.15 MB / 4.15 MB       |================================================| 100%
install: libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
 installing libgmp-5.0.1-1-mingw32-dll-10.tar.lzma
install: gmp-5.0.1-1-mingw32-dev.tar.lzma
 installing gmp-5.0.1-1-mingw32-dev.tar.lzma
install: smlsharp-1.1.0-1-mingw32-bin.tar.lzma
 installing smlsharp-1.1.0-1-mingw32-bin.tar.lzma

3. SML# インタプリタの動作確認

SML# インタプリタを起動するには、プロンプト上で次のコマンドを実行します。

$ smlsharp

SML# インタプリタが起動すると、次のような表示とともに入力待ち状態となります。

SML# version 1.1.0 (2012-08-08 12:08:42 JST) for x86-mingw
# 

簡単な式を入力し、評価結果が正しく出力されることを確認してください。 次の例において、"#" はプロンプトの文字であり、実際に入力している部分は "2 + 3;" です。

# 2 + 3;
val it = 5 : int

4. その他の注意事項

  • MSYS の使用に際して、Windows 上のアカウントは空白文字や全角文字を含まない名前(Administrator や名前のローマ字など)にしてください。 そのようなアカウントがない場合、既存の(全角文字等を含む)アカウントの名前を変更するのではなく、半角英数字からなる名前のアカウントを新たに作成し、そのアカウントでログオンした上で MSYS を起動してください。