ぱたへね

はてなダイアリーはrustの色分けができないのでこっちに来た

Learning F# Functional Data Structures and Algorithms

Learning F# Functional Data Structures and Algorithmsを読みました。

よく使われるデータ構造とアルゴリズムをF#で実装する本です。


最初にF#の基礎から入って、スタック型を使ってテスト環境を構築した後、アルゴリズムの説明に入ります。説明されているアルゴリズムは、Tree, Queue, Graph, Mapで、それぞれのデータ構造の説明はあっさりしています。F#のコードはmutableを躊躇なく使っていて、でそれほど関数型プログラミングにはこだわっていないです。作成したデータ構造を使って何かするところも説明がありません。

対象者としては、F#の入門的な所は終えていて、かつ他のプログラミング言語ではツリーやキューを実装できる人になります。

本の感想として微妙な感じで書いてますが、関数型プログラミングの難しいところはデータ構造をどう定義するかだと思うので、少ないとはいえ各種データ構造のソースがあるのはうれしかったです。とりあえずclassにしておけばなんとかなりそうな自信を持ちました。


最後にはいろんなURLと合わせて、Purely Functional Data Structures(翻訳 (純粋関数型データ構造))も紹介されていて、この本みてF#でコーディングできる人には不要の本です。僕にとってはその間を埋めるにはちょうど良い本でした。