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

6.1 Unix系OS,Emacsエディタ,その他ツールの整備

プログラミングのためには,

  • 使いやすい高機能エディタ

  • コンパイラとリンカー

を含むプログラミング環境が必要です. SML#でのプログラミングに必要とされるプログラミング環境は, SML#コンパイラのインストールを除けば,C言語の場合と同様です. Javaなどの言語では,これらを統合した対象言語に特化したEclipseなど の統合開発環境を使用する場合が多いですが,Cとの直接連携機能を用いたシス テムプログラミングやSQLを使ったデータベース操作などのSML#の先端機 能を駆使したプログラミングを十分に楽しむためには,以下のような標準的なプ ログラミング環境を整えることをお勧めします.

  • Unix系のOS. 高度なプログラム開発には,Linux,FreeBSD,Mac OS X等のUnix 系OSが豊富なツールを含んでいて便利です. Windows系のOSがインストールされたPCの場合は,VMware,VirtualBoxなど の仮想マシンを利用してLinuxなどの環境を容易に構築できます.

  • Emacsエディタ. Emacsはプログラミングにもっとも適したエディタの一つです. プログラミングは,テキスト形式の文を書き,コンパイルしテストをし, 修正する,という作業の繰り返しであり,その大部分の時間はテキストエディタ との付き合いとなります. そこで,強力でカスタマイズ可能なテキストエディタの選択が重要です. Emacs系テキストエディタ(GNU Emacs,XEmacsなど)は,複数のバッファ の操作,ディレクトリなどのファイルの管理,コンパイラなどのコマンド起動, さらに,それらの柔軟なカスタマイズ機能を備えた強力なエディタであり,プロ グラミングやLaTeX文書などの複雑で高度な文書の作成に最適なエディタです. 使い始める時に少々練習が必要ですが,使いこなせば,プログラム開発 の強力な道具となります. Unix系OSでは通常,標準で用意されています.

  • Cコンパイラ. SML#コンパイラは,ソースコードをx86_64アーキテクチャのネイティブコードにコンパイルし,OS標準のオブジェクト ファイルを作成し,さらにそれらをリンクし実行形式ファイルを作成します. この過程でCコンパイラドライバ(gccclangなど)を 通してリンカーを呼び出します. Cコンパイラは,Unix系OSのインストール時にプログラム開発用に適したシステムを選択すれば 標準でインストールされているはずです.

    SML#プログラムのみをコンパイルしリンクする場合は,ユーザ が直接Cコンパイラを呼び出す必要はありませんが,C言語との直接連携 機能を使いより高度なプログラミングを行うためにも,Cコンパイラに 慣れておくことをお勧めします.

  • データベースシステム. SML#のデータベース機能を使用するにはデータベースシステムを インストールする必要があります. 第3.7.1版はPostgreSQL,MySQL,ODBC,SQLite3に対応しています. データベースアクセス機能を使用するには,これらのうちいずれかの データベースシステムをインストールする必要があります. これらのうち,SML#との連携が最もテストされているのは PostgreSQLです. 詳細はOSに依存しますが,いずれの場合も簡単にインストールできるは ずです.