「OCAML入門」入門

OCamlは、Coqを導入する際に、初めて意識した。
OCamlで書かれている方々を存じ上げている。
一行でもコードを動かすために記録を始める。
# 導入
Macintoshならocamlとrlwrapを導入

```shell
$ brew install ocaml
$ brew install rlwrap
```
開始と終了（$はshellの入力促進記号(prompt). #はocaml。終了：「^Z」はctrlキーを押しながらZキーを押す。ファイルの終端を意味する制御信号生成。）

```shell
$ rlwrap ocaml
        OCaml version 4.06.1

# ^Z
```

OCamlの環境構築[Mac OS X]
https://qiita.com/oshuya/items/dd0faa707c5baf54249d

UbuntuにOCamlをインストールする
https://qiita.com/KenjiYamauchi/items/40aaab56b65777950877

WindowsでもOCaml
https://qiita.com/KenjiYamauchi/items/4f07282f73decf74865b

FreeBSDにOCamlをインストール
https://qiita.com/KenjiYamauchi/items/7a3affba010c518e8117

OCamlを始める
https://qiita.com/takeohman/items/09eee9065a1b893f8bcb

ゼロから始める OCaml
https://qiita.com/szktty/items/81e1f27ee2c19c660529

OCaml のエントリポイント
https://qiita.com/szktty/items/36ed3cc0b67e75fbeb52#_reference-71fa0e1790118e179ea5

イチから始める OCaml
https://qiita.com/szktty/items/5813780a212621c1276b#_reference-00b46bae0da0979826c8

# 入門
OCaml 入門その1
https://qiita.com/zenwerk/items/3bdf7eef6b7511e11b2c

OCaml 入門その2
https://qiita.com/drafts/456bedf9f68b512663da/edit

OCaml 入門その3
https://qiita.com/zenwerk/items/bfc1978718b5da3f463b

OCaml 入門その4
https://qiita.com/zenwerk/items/244b84bee48bf61d2a51

OCaml 入門その5
https://qiita.com/zenwerk/items/3844df72c5f4afb1782f

OCaml 入門その6
https://qiita.com/zenwerk/items/97d370d457008d8f01de

OCaml の記号あれこれ
https://qiita.com/szktty/items/05cb2b754c88fbacc274

ocamlfind の公式ドキュメントの個人的まとめ
https://qiita.com/zenwerk/items/1d1eafcbb45aed3fade7

OCaml の環境構築
https://qiita.com/zenwerk/items/7bc6177adcbeb6990e60

OCamlの環境構築
https://qiita.com/satou30/items/095d20d7b52f01f593b8

OCaml初心者が悩んだ、Cにコールバックしてもらう関数の定義
https://qiita.com/kjunichi/items/32c92c77c67596345c49

OCamlのモジュール (ストラクチャ) とモジュール型 (シグネチャ)
https://qiita.com/keigoi/items/c2d5e07a7b0bae49b18d

```ocaml
module Stack0 = struct
  type 'a t = 'a list
  let create () = [] 
  let push x s = x::s (* push x s で スタック s に 値 x をプッシュ *)
  let pop = function  (* pop s は，スタックの最上位の値と，スタックの残りのペアを返す *)
    | x::xs -> (x, xs)
    | [] -> failwith "Empty stack"
end
```
ocamlのcode tagはあるんだ。

# 応用
Oasis で楽に OCaml プロジェクトを作る
https://qiita.com/keigoi/items/24016ba9f84e4943e2c0

Jbuilder (Dune) でもっと楽に OCaml プロジェクトを作る
https://qiita.com/keigoi/items/a68298fcd39322004fed

OCamlでdlopenしてもdlsymで参照できなかった #solved
https://qiita.com/kjunichi/items/9c05f4e92402be646310

OCamlでchar*を使うには
https://qiita.com/kjunichi/items/291f220e3a9fb2c5e032

「プログラムでシダを描画する」をOCaml(OpenGL)で描画する
https://qiita.com/kjunichi/items/03d821ae2cb742d811bf

ChromebookでOCaml使えた
https://qiita.com/kjunichi/items/cc9a6d4116973bdd5acf

lablglutが動かない場合
https://qiita.com/kjunichi/items/5772322ac98410e97851

OCaml の警告オプション（の一部）
https://qiita.com/szktty/items/e0d59f11be6f73e3cfc7

ラベルなし/ラベル付き/オプショナル引数の定義の順序
https://qiita.com/szktty/items/f3844ee87b7ecc662c99

OCaml で return 相当の処理を実装する
https://qiita.com/szktty/items/5e12e126ee89521d04f7

OPAM パッケージ化のススメhttps://qiita.com/szktty/items/d32bbc827960cff561a3

Spotlib が（・∀・）ｲｲ!!
https://qiita.com/szktty/items/26df59f583fd727f30b4

ファンクターについての覚え書き
https://qiita.com/szktty/items/6301a2ae9e5bc129a882

ファンクターについての覚え書き (2) 実装編
https://qiita.com/szktty/items/04c5114f36db9a1799af

例外処理と末尾再帰（Re: OCamlの末尾再帰について）
https://qiita.com/dico_leque/items/9ef36dcd719b7d238819

OCamlでFree Applicative Functors
https://qiita.com/dico_leque/items/1d70c34eb692f245ea14

GADTで実行時型情報を表現する
https://qiita.com/dico_leque/items/58b864074049a6e33d92

repMin を遅延評価を使わずに書く
https://qiita.com/dico_leque/items/b21e039d40b9373da04b

OCamlで説明するgen_serverの使い方
https://qiita.com/yoshihiro503/items/fe607d29e23b9eb26d80

OCamlで動的スコープなLispを作る
https://qiita.com/takl/items/fe5ad17eccc3a9d3f98a

Menhir と ocamllex のサンプルコードをいくつか
https://qiita.com/takl/items/94cd68b9ede086a08380

ocamlfind の公式ドキュメントの個人的まとめ
https://qiita.com/zenwerk/items/1d1eafcbb45aed3fade7

### 文書履歴
ver. 0.10 初稿　20180319
ver. 0.11 ５項目追記 20180323
ver. 0.12 標題を「OCAML入門」入門に変更。導入節作成、１０項目追記 20180325
ver. 0.13 @michi1129 さんからの編集リクエストにより rlwapからrlwrapに訂正(編集リクエスト箇所以外にも２箇所)
ver. 0.14 見出し補正 20210509

 ＜この記事は個人の過去の経験に基づく個人の感想です。現在所属する組織、業務とは関係がありません。＞
### 最後までおよみいただきありがとうございました。
いいね　💚、フォローをお願いします。
####  Thank you very much for reading to the last sentence.
Please press the like icon 💚　and follow me for your happy life.