SML#で始める実践MLプログラミング 電子版

電子書籍
書籍情報
発売日2021年11月11日
SML#で始める実践MLプログラミング 書影
SML#で始める実践MLプログラミング

新刊

 本書は,最新鋭のStandard ML系言語「SML#」を用いて,実践的なMLプログラミング手法を解説する教科書である。
 型を考えて式を組み合わせていくMLプログラミングの基本はもとより,コマンドの作成や分割コンパイルなどのシステム開発を支える機能の使い方から,C言語との連携, データベースプログラミング,マルチコアCPU上の並列処理などの高度なシステム開発技術に至るまで,具体的な例を用いて分かりやすく解説する。
 本書で挙げられているプログラムの例やシステム開発事例,さらにそれらを通じて示されるプログラミング技法には,東北大学電気通信研究所で研究教育に従事し,MLを熟知した著者による,長年の研究開発を通じて得られた実践MLプログラミングのノウハウが詰まっている。
 プログラミングに興味を持つ幅広い読者に手にとっていただき,MLでのシステム開発の楽しさや快適さを実感してほしい。

【関連書籍】『プログラミング言語Standard ML入門 改訂版』(大堀 淳 著)

目次

第1章 SML#プログラム開発環境の構築
1.1 ML言語の特徴とSML#コンパイラの紹介
1.2 Linux仮想マシン上へのSML#の導入
1.3 対話型モードでのSML#コンパイラの起動
1.4 分割コンパイルと実行コマンドの作成
1.5 makeコマンドの活用
1.6 対話型モードへのオブジェクトファイルのリンク
1.7 練習問題

第2章 MLプログラミングのエッセンス
2.1 式の値と変数の型
2.2 関数の定義と利用
2.3 高階の関数の活用
2.4 多相関数
2.5 関数のテストコマンドの作成
2.6 練習問題

第3章 リストプログラミング演習
3.1 リストデータ型
3.2 空リストの場合の例外処理
3.3 種々の再帰関数の定義
3.4 リスト型基本ライブラリ
3.5 練習問題

第4章 データ型の定義と利用
4.1 datatype宣言による新しい型の定義
4.2 型定義の考え方とプログラム例
4.3 case文によるdatatypeの処理
4.4 練習問題

第5章 モジュールと分割コンパイル
5.1 ストラクチャの定義と利用
5.2 SML#の分割コンパイルシステム
5.3 インターフェイスの定義
5.4 各ストラクチャの実装
5.5 練習問題

第6章 ML流システム設計・開発技法
6.1 型でシステムを分析・設計する
6.2 トップダウンで実装する
6.3 手続きと宣言を分けて考える
6.4 発展課題

第7章 C言語との連携
7.1 MLとC言語の連携の役割
7.2 直接受け渡し可能なデータ型
7.3 C関数のインポート式
7.4 分割コンパイルとリンク
7.5 ポインタの実行時表現を持つデータのエクスポート
7.6 ポインタの実行時表現を持つデータのインポート
7.7 多相性を持つCライブラリとの連携例
7.8 練習問題

第8章 外部データのアクセス
8.1 ファイルの入出力
8.2 例外処理機構を使ったエラー処理
8.3 JSONデータの読み込み
8.4 コマンドライン引数の処理
8.5 練習問題

第9章 データベースとの連携
9.1 SML#のデータベース統合の概要
9.2 SML#がサポートする関係データベース
9.3 データベースサーバの定義
9.4 データベースサーバへの接続
9.5 SML#のSQL式
9.6 SQL関数式の定義と利用の流れ
9.7 SQLクエリ式の概要
9.8 SQLコマンド式の概要
9.9 SQL関数式の合成
9.10 データベースプログラム例
9.11 練習問題

第10章 並列プログラミング
10.1 Pthreadプログラミング
10.2 Pthreadストラクチャの使用例:キュー
10.3 並列プログラミング例:レイトレーシング
10.4 MassiveThreadsによる並列プログラミング
10.5 MassiveThreadsを用いたレイトレーシングの並列化
10.6 練習問題

第11章 実用システム開発技法
11.1 外部ライブラリの利用
11.2 中間表現による手続きの隠蔽
11.3 メインルーチンとデータの入出力
11.4 発展課題