Ocaml

スタック・トレース

11/16(日)"> こういうときは-rectypesだっけ? plaster@mur2:~/public_html/tmp/scheme> gosh stackquiz-ocaml.scm 1 1 2 1 2 3 > stackquiz.out.ml; ocaml -rectypes stackquiz.out.ml Exception: ContEmpty. 出ない…… google:"ocamlrunparam stack trace"

濃ゆいOcaml講義@APPSEM2000

http://caml.inria.fr/pub/docs/u3-ocaml/ Didier Rémy, Using, Understanding, and Unraveling The OCaml Language [These course notes] provide a formal description of the operational semantics (evaluation) and statics semantics (type checking) …

累積関数

変数 x = xk の値とそこでの関数の値 f(xk) = vk の組のリスト '( (x1 v1) (x2 v2) (x3 v3) ...) から累積関数の値のリスト '( (x1 v1) (x2 (+ v1 v2)) (x3 (+ v1 v2 v3)) ...) への変換はfold (foldl) を使うとどう書けるか.いや,先週,磁場の計算をやっ…

場当たり的エスケープ

とりあえず華麗に場当たり対処をしますた --- xduce-0.5.0/src/lexer.mll 2005-04-06 16:05:07.000000000 +0900 +++ /home/flatline/xduce-0.5.0/src/lexer.mll 2006-04-11 09:34:31.000000000 +0900 @@ -55,6 +55,8 @@ | float_literal | '-'float_literal …

Obj.magic

そう言えば以前id:namasute0氏の前で Obj.magic の話をしたら,自分で定義する方法を教えてくれた.確かこんな感じ: ux104$ ledit ocaml Objective Caml version 3.09.1 # exception Ex of _ ;; exception Ex of 'a # let mymagic x = try raise (Ex x) wit…

ぼくは,XDuceを,あきらめた

昨日はXDuceという言語で1行掲示板CGIを作ろうと3時間近くあれこれやってたんだが(validatorを探したのもその一環),<input type="text" value="名無し"> と出力しようとして h:input[@h:type["text"], @h:value["名無し"] ], ... とか書いたら((XDuceにおいてはXMLのタグ名をヴァリアント型…

Mapの実装

Mapのリファレンスには "The implementation uses balanced binary trees." とある.ソースのbalを読む限り,どうもAVL木の変種のようだ.普通のAVL木と違って,左右の部分木の高さの差が2まではOKとしている.なお部分木の高さを内部ノード毎にキャッシュす…

「Ocamlで動的型」に反応

Lisperとして住井先生 (id:sumii:20060129) に反応してみる. 「いかさまdynamic typing in OCaml」は,polymorphic variantが目を引くけど((Ocamlのpolymorphic variantってのは,本当に「最低限」を推論するんだなぁ.tやdの型はゴチャゴチャして見辛いけ…

MinCamlが例外を吐く

id:sumii先生へ MinCamlソースeven-odd.mlがコンパイルできない.raiseされた Not_found がcatch*1されないようだ.使っているのはCVS HEAD. Makefileの CFLAGS の後,SOURCES の前辺りに OCAMLFLAGS=-g と OCAMLBLDFLAGS=-g を追加したらスタックトレース…