Min-Caml

by syoyo

http://min-caml.sourceforge.net/index7.html
http://min-caml.sourceforge.net/paper.pdf (tech paper)

[En]
Min-Caml is a simple, small, clean and efficient compiler for minimal ML language.
It is composed of just 2k lines, but many compiler features are included. Quite nice!

Min-Caml is implemented by ocaml, thus studying Min-Caml’s code is much useful for me to
implemente my MUDA language compiler(since MUDA compiler is implemented with ocaml for now).

[Ja]

Min-Caml すげぇ、MUDA は ML な言語ではなく GLSL な言語ですが、
Min-Caml のコードは MUDA を実装する上でとても役に立ちます。


vec f = a + b + c
if ((f + d).x < 0.0) {
    ...
}

な式を


vec tmp0 = a + b
vec f = tmp0 + c
float tmp1 = (f + d).x
if (tmp1 < 0.0) {
    ...
}

な感じにするのを、コンパイラの分野では K-正規化(K-Normal form) と言うことが分かっただけでも収穫です。

Advertisements