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

導入

Macintoshならocamlとrlwapを導入

$ brew install ocaml
$ brew install rlwap

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

$ rlwap 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

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

文書履歴

0.10 初稿 20180319
0.11 5項目追記 20180323
0.12 標題を「OCAML入門」入門に変更。導入節作成、10項目追記 20180325

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.