#author("2020-06-18T15:54:56+00:00","default:sagasite","sagasite")
[[Program]] > OCaml

RIGHT:2018-11-18 (日) 公開
RIGHT:2020-06-19 (金) 更新

//===== ===== ===== ===== ===== ===== ===== ===== ===== =====

#contents

//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
* OCamlとは? [#c262f771]

https://ja.wikipedia.org/wiki/OCaml

>OCaml(オーキャムル、オーキャメル)は、フランスの INRIA が開発したプログラミング言語MLの方言とその実装である。
MLの各要素に加え、オブジェクト指向的要素の追加が特長である。
かつては Objective Caml という名前で、その略として OCaml と広く呼ばれていたが、正式に OCaml に改名された。

** 公式サイト [#ob0dd03f]

- OCaml
https://ocaml.org/

- OCaml.jp
http://ocaml.jp/


//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
* リファレンス / チュートリアル [#o4308ece]

- OCamlチュートリアル – OCaml
https://ocaml.org/learn/tutorials/index.ja.html

-「プログラミングの基礎」を使った授業紹介
http://pllab.is.ocha.ac.jp/~asai/book-mov/

-京都大学工学部専門科目「プログラミング言語」講義資料(2018年度)
https://github.com/aigarashi/PL-LectureNotes

-2015年度 筑波大学 ソフトウェア技法・OCaml入門
http://www.math.nagoya-u.ac.jp/~garrigue/lecture/tsukuba16/

-お気楽 OCaml プログラミング入門
http://www.geocities.jp/m_hiroi/func/ocaml01.html

** PDF(英語) [#td4292f8]

-Introduction to Objective Caml
http://courses.cms.caltech.edu/cs134/cs134b/book.pdf

-Developing Applications With Objective Caml
http://caml.inria.fr/pub/docs/oreilly-book/


//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
//* ライブラリー / フレームワーク


//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
* Tips [#beb43805]

+OCamlの実行環境
++[[OCamlをVisualStudioCodeで書く]]
+[[OCaml学習メモ]] 学ぶ前に仮説を立てて、実際にやってみて検証する方式

** OCamlを選ぶ理由 [#g6daa949]

-SCamlによるTezosプログラミング#0 - DaiLambda, Inc. 
https://www.dailambda.jp/blog/2020-02-01-scaml-jp-0/

>だからOCaml
+C系(C++/C#)のポインタ、リファレンスは必要ありません。
+型の無いスクリプト言語で手軽にスマートコントラクトを書いてバグらせたくはない。
+Scalaはクラス部分が余分。
+手続き型言語はプログラムの意味解析が人間、機械共に難しい。
+Erlangのような並列計算への利便性は必要ない。
+Haskellは遅延評価が相性が悪い。
+SMLは形式的検証にはIsabelleがあるが、OCaml x Coqと比べると人気ではどうしても劣る。
+Rustが提供するポインタ安全性やリソース安全性は純粋関数型スタックVMでの実行モデルにおいては価値がない。


//===== ===== ===== ===== ===== ===== ===== ===== ===== =====
* 参考書 [#xeac7987]

- [[プログラミングの基礎]](目次)

#html{{
<table border="0" cellpadding="5"><tr><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/4781911609/vertex9-22/" target="_blank"><img src="https://images-fe.ssl-images-amazon.com/images/I/51FBsJHo4EL._SL160_.jpg" border="0"></a></td>
<td> </td>
<td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/4781911609/vertex9-22/" target="_blank">プログラミングの基礎 ((Computer Science Library))</a><br>浅井 健一<br>サイエンス社<br>2007-03-01<br>¥ 2,484</td></tr></table>
<hr>
}}

- [[プログラミング in OCaml]](目次)

#html{{
<table border="0" cellpadding="5"><tr><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/B00QRPI1AS/vertex9-22/" target="_blank"><img src="https://images-fe.ssl-images-amazon.com/images/I/514UAD1nKsL._SL160_.jpg" border="0"></a></td>
<td> </td>
<td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/B00QRPI1AS/vertex9-22/" target="_blank">プログラミング in OCaml 〜関数型プログラミングの基礎からGUI構築まで〜</a><br>五十嵐淳<br>技術評論社<br>2014-12-09<br>Kindle 価格:	¥ 1,512</td></tr></table>
<hr>
}}

#html{{
<table border="0" cellpadding="5"><tr><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/4781912850/vertex9-22/" target="_blank"><img src="https://images-fe.ssl-images-amazon.com/images/I/51wBjWwYE4L._SL160_.jpg" border="0"></a></td>
<td> </td>
<td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/4781912850/vertex9-22/" target="_blank">プログラミング言語の基礎概念 ((ライブラリ情報学コア・テキスト))</a><br>五十嵐 淳<br>サイエンス社<br>2011-07-01<br>¥ 1,998</td></tr></table>
<hr>
}}

#html{{
<table border="0" cellpadding="5"><tr><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/B00DJF1ZBQ/vertex9-22/" target="_blank"><img src="https://images-fe.ssl-images-amazon.com/images/I/51nGX87zquL._SL160_.jpg" border="0"></a></td>
<td> </td>
<td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/B00DJF1ZBQ/vertex9-22/" target="_blank">OCaml from the Very Beginning (English Edition)</a><br>John Whitington<br>Coherent Press<br>2013-06-20<br>
Kindle 価格:	¥ 3,152</td></tr></table>
<hr>
}}

#html{{
<table border="0" cellpadding="5"><tr><td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/144932391X/vertex9-22/" target="_blank"><img src="https://images-fe.ssl-images-amazon.com/images/I/51xPITOaMSL._SL160_.jpg" border="0"></a></td>
<td> </td>
<td valign="top"><a href="https://www.amazon.co.jp/exec/obidos/ASIN/144932391X/vertex9-22/" target="_blank">Real World OCaml</a><br>Yaron Minsky / Anil Madhavapeddy / Jason Hickey<br>O'Reilly Media<br>2013-11-25<br>¥ 4,897</td></tr></table>
<hr>
}}
「Real World OCaml」は、Web版が公開されているので無料で読める。
- Real World OCaml https://realworldocaml.org/
- 第1版 Table of Contents / Real World OCaml https://v1.realworldocaml.org/v1/en/html/index.html
- 第2版 Real World OCaml http://dev.realworldocaml.org/toc.html



//----------------------------------------
// A8 Ads - sakura VPS banner
~
#html{{
<center><a href="http://px.a8.net/svt/ejp?a8mat=1O73NW+3B2PRM+D8Y+BXB8X" target="_blank"><img border="0" width="468" height="60" alt="" src="http://www21.a8.net/svt/bgt?aid=101108300200&wid=001&eno=01&mid=s00000001717002003000&mc=1"></a><img border="0" width="1" height="1" src="http://www18.a8.net/0.gif?a8mat=1O73NW+3B2PRM+D8Y+BXB8X" alt=""></center>
}}
//----------------------------------------

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS