OCamlは、Coqを導入する際に、初めて意識した。
OCamlで書かれている方々を存じ上げている。
一行でもコードを動かすために記録を始める。
#導入
Macintoshならocamlとrlwrapを導入
$ brew install ocaml
$ brew install rlwrap
開始と終了($はshellの入力促進記号(prompt). #はocaml。終了:「^Z」はctrlキーを押しながらZキーを押す。ファイルの終端を意味する制御信号生成。)
$ 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
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 5項目追記 20180323
ver. 0.12 標題を「OCAML入門」入門に変更。導入節作成、10項目追記 20180325
ver. 0.13 @michi1129 さんからの編集リクエストにより rlwapからrlwrapに訂正(編集リクエスト箇所以外にも2箇所)
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.