訳あってOCaml
まさか自分が OCaml を勉強するとは全くもって思っていなかったんだけど、訳あって只今 OCaml 勉強中。
というのも「最新コンパイラ構成技法」を読んでいて、その原著が「Modern Compiler Implementation in ML」。「Modern Compiler Implementation in C」でもないし、ましてや「Modern Compiler Implementation in Java」でもない。MLなの。ML。
で、その本の二章に ML-Lex という ML 向けの字句解析器が登場し、あーやっぱりML書けないとダメかと思うに至り、幸い Ubuntu なら ml-lex や ml-yacc、smlnj(Standard ML of New Jersey) のパッケージはあるんだけど、でもどうせならもっと実用的なのがいいなと思って OCaml に行き着いたと。いろいろ特殊に感じるところはあるけれど、独特な関数の書き方なんかもそんなに苦にならない。前に Erlang やったからかな。おかげでようやく関数型プログラミング言語像がイメージとして捉えられるようになってきたっぽい。
最新コンパイラ構成技法
- 作者: Andrew W. Appel,神林靖,滝本宗宏
- 出版社/メーカー: 翔泳社
- 発売日: 2009/10/30
- メディア: 大型本
- 購入: 6人 クリック: 165回
- この商品を含むブログ (26件) を見る
Modern Compiler Implement in ML
- 作者: Andrew W. Appel
- 出版社/メーカー: Cambridge University Press
- 発売日: 2008/08/21
- メディア: ペーパーバック
- 購入: 3人 クリック: 3回
- この商品を含むブログ (5件) を見る
Modern Compiler Implement in C
- 作者: Andrew W. Appel
- 出版社/メーカー: Cambridge University Press
- 発売日: 2008/08/21
- メディア: ペーパーバック
- 購入: 2人 クリック: 10回
- この商品を含むブログ (5件) を見る
Modern Compiler Implementation in Java
- 作者: Andrew W. Appel,Jens Palsberg
- 出版社/メーカー: Cambridge University Press
- 発売日: 2002/11
- メディア: ハードカバー
- クリック: 1回
- この商品を含むブログ (2件) を見る
それとは別に字句解析器と構文解析器の使い方を勉強。
Lex & Yacc や
Lex & Yacc (A Nutshell Handbook)
- 作者: John R. Levine,Tony Mason,Doug Brown
- 出版社/メーカー: Oreilly & Associates Inc
- 発売日: 1992/10/01
- メディア: ペーパーバック
- 購入: 2人 クリック: 6回
- この商品を含むブログ (6件) を見る
flex & bison: Text Processing Tools
- 作者: John Levine
- 出版社/メーカー: O'Reilly Media
- 発売日: 2009/08/24
- メディア: ペーパーバック
- クリック: 7回
- この商品を含むブログ (1件) を見る
- 作者: Steven John Metsker
- 出版社/メーカー: Addison-Wesley Professional
- 発売日: 2001/03/26
- メディア: ペーパーバック
- クリック: 3回
- この商品を含むブログを見る
あとは Lua のレクサとパーサのソース読んでみたり。
前途多難だけど、こういういかにもCSっぽい勉強ってしたことがなかったのでそれなりに楽しめる。
Resources:
- The Caml Language
- http://caml.inria.fr/
- The Objective Caml system release 3.11 Documentation and user's manual
- http://caml.inria.fr/pub/docs/manual-ocaml/index.html
- Introduction to Object Caml
- http://files.metaprl.org/doc/ocaml-book.pdf
- Comparing Objective Caml and Starndard ML
- http://adam.chlipala.net/mlcomp/
- Standard ML and Objective Caml, Side by Side
- http://www.mpi-sws.org/~rossberg/sml-vs-ocaml.html
- Developing Applications With Objective Caml
- http://caml.inria.fr/pub/docs/oreilly-book/
- OCaml for Scientists
- http://www.ffconsultancy.com/products/ocaml_for_scientists/chapter1.html
- Using, Understanding, and Unraveling The OCaml Language From Practice to Theory and vice versa
- http://caml.inria.fr/pub/docs/u3-ocaml/index.html
- A Concise Introduction to Objective Caml
- http://www.csc.villanova.edu/~dmatusze/resources/ocaml/ocaml.html
- OCaml.jp
- http://ocaml.jp/
- OCaml プログラミング入門
- http://www.i.kyushu-u.ac.jp/~bannai/ocaml-intro/
- Objective Caml 入門
- http://www.sato.kuis.kyoto-u.ac.jp/~igarashi/class/isle4/mltext/ocaml.html
- OCamlチュートリアル
- http://www.ocaml-tutorial.org/ja
- お気楽 OCaml プログラミング入門
- http://www.geocities.jp/m_hiroi/func/ocaml.html
- 速攻MinCamlコンパイラ概説
- http://min-caml.sourceforge.net/
- 超特急:一時間でわかるML超入門
- http://min-caml.sourceforge.net/index2.html