auの日記

プログラミング初心者の日記。(auはハンドルネームです)

OCaml

OCamlのおかげで短く書く方法を知った

auです。明日もテストなのでめっちゃ軽く書きます。OCamlを使うと、末尾再帰や、変数を余り定義しないで書くようになります。使いすぎると管理ができなくなって爆発します(頭が)ですので、極力必要な部品だけを作って書くようになりました。ポーランド記法(…

OCamlと少しだけ友達になれた気がする

auです。大学の課題の問題に対してですが、そこそこOCamlで解けるようになってきました。計算量も考え、末尾再帰にしたりできています。型の制約が強い分エラーの量が凄まじいですが、レコードで定義した型に対して、int型で値を返してしまったんだなと思え…

OCamlの再帰で用いる「rec」って何の略称?

auです。OCamlの再帰を書く際に「rec」を用いるのですが、これって何の略称なのか気になってしまったので調べることにしました。 recは何の略称? 結論から言うと、再帰的の意味をもつ「recursive」でした。読み方はリカーシブです。以下のOCamlの英語のサイ…

OCamlのシグネチャが読み解けない

auです。最近の悩みを書こうと思います。まあ、タイトル通りOCamlのシグネチャがよく分からないということです。課題を解く際に、問題によってはこんなシグネチャになるよーって感じで例が書いてあるのですが、いくらやってもそんなシグネチャはできません..…

MacとWindowsでミュータブルなレコードのリストを作成した際のバグ?を見つけた

auです。Macでミュータブルなレコードのリストを作成した際にWIndowsででるメッセージと違うものが出てきたのでわかる方がいらっしゃったら教えていただけると幸いです。 作成したコード type 'a stack = {mutable s: 'a list};; let s = {s=[]};; Macの場合…

OCamlと友達になれない

auです。OCamlを初めて1ヶ月近く経ちましたが、なんだかまだ友達になれてないようで、エラーを生み出しまくってます。 This expression has type expression but an expression was expected of type int こんな感じの型がよくないというエラーがとてつもな…

OCamlで出てくるヴァリアントとは

auです。最近OCamlを学んでいるのですが、「ヴァリアント」という様々な型に代入できるようにする用語があるんですけど、白猫プロジェクトの職業にしか見えないのでちゃんと調べることにしました。ちなみに白猫で一番好きなのはジュダです。 ヴァリアントと…

OCamlをMacで使えるようにした(方向キーで操作できるよ!)

auです。OCamlというプログラミング言語を使ってみました!C言語ともPythonとも違う、不思議なコードの書き方のような気がしました。とりあえずOCamlについて調べてみました。 OCamlとは OCamlとは、int型やchar型といった明示的な型変換は行われるず、コン…