[ Ohori's home page | 大堀淳のホームページ | 大堀研究室 ]

まえがき

本書はML言語の1つであるStandard MLの入門書である.

MLは,定理証明システムの記述言語(メタ言語,Meta Language)を起源とするプログラミング言語の総称である.その1つであるStandard MLは,多くの研究者によってまとめられたMLの標準の仕様であり,プログラミング言語の理論的研究に基づく最先端の成果を採り入れて設計された汎用の高水準プログラミング言語である.

MLはこれまで,その歴史的な経緯から,大学や研究所などで使用されることが多かった.しかしMLは,単なる研究や実験用の言語にとどまらず,複雑なソフトウェアシステムを開発する上でも大きな可能性を持った実用言語でもある.大規模ソフトウェアの開発に耐えるStandard MLのコンパイラがいくつか開発されており,パーソナルコンピュータを含む幅広いプラットフォームで使用することができる.

MLは,初めてプログラミングを学ぶ言語としても,最適なものの1つである.MLプログラミングを通じて,データ構造の表現や再帰的な処理などのプログラミングにおける基本的な概念や技術を,メモリアドレス操作などに煩わされることなく身に付けることができる.また,CやJavaなどの言語を習得している者にも,MLが提供する多相型や高階関数などの高度な機能は,プログラミングに対する新しい展望を与えるであろう.

MLは洗練された高級言語である.しかしだからといって,MLでのプログラミングの修得は決して難しいものではない.MLは使い始める時の障壁が比較的小さい言語である.システムのインストールが完了すれば,すぐシステムと対話しながらプログラムを入力し,結果を見ることができる.MLは厳密な理論に基づいて設計された高水準言語であるが,その中核となる部分は比較的小さく,その基になる原理も少数である.MLでの対話型プログラミングを通じてこれら原理を理解していくならば,比較的短時間に高度なプログラムを書く技術を身に付けることができる.

本書の目的は,初めてMLに触れる者が,MLで本格的なプログラムを書き始めるのに十分な知識とプログラミング技術を学ぶための材料を提供することである.本書を理解する上で,プログラムやファイルといったコンピュータシステムに関する初歩的な概念以外は特に必要としない.Lisp等の関数型言語の経験は有用であるが,MLを習得する上で必須ではない.プログラミング言語に興味を持つ者であればだれでも,予備知識なしに,MLに関する基礎からある程度高度な概念やプログラミング技術を習得できるようなテキストになることを願い本書を著した.

広く普及している他のプログラミング言語と比較したとき,現状のMLには,既存のプログラムやツールとのリンクのしにくさなどの弱点があるのは事実である.それにもかかわらず著者は,MLが,これまでに開発され実用化されたプログラミング言語の中で最良のものの1つと考える.本書を通じてML言語に興味を持ち,MLプログラミングを楽しむものが幾人かでもふえるならば,著者の存外の喜びである.今後とも,本書を,このような目的を果たし得るものに改善していきたいと考えている.

    http://www.jaist.ac.jp/~ohori/mltext.html
このページの情報を参考にコメントなどをお送り頂ければ幸いである.

本書第I部の一部には,著者が1995年に日本ソフトウェア科学会の学会誌「コンピュータソフトウェア」(岩波書店)に連載した講座「プログラミング言ML(1)〜(4)」,および1994年情報処理学会誌「情報処理」に掲載した解説「プログラミング言語ML--その歴史,特徴,応用および最近の研究動向--」の原稿を参考にした部分がある.

本書を著すにあたりStandard ML Basis Libraryのドラフトを提供して下さったLucent Technologies,Bell研究所のJohn Reppy氏と,本書の企画から完成までお世話になった共立出版株式会社出版企画部の石井徹也氏に深謝いたします.

2001年6月 金沢にて 大堀 淳