スタックマシン
type t = | POP | PUSHI of int | ADD | SUB | MUL | PRINTI | RET let codes = [| PUSHI 1; PUSHI 2; ADD; PUSHI 10; SUB; PUSHI 100; MUL; PRINTI; RET
] |
variantな型と、リストを使ってスタックを表して末尾再帰って感じで、こんな感じで書けました。
type t = | POP | PUSHI of int | ADD | SUB | MUL | PRINTI | RET let codes = [| PUSHI 1; PUSHI 2; ADD; PUSHI 10; SUB; PUSHI 100; MUL; PRINTI; RET
] |
variantな型と、リストを使ってスタックを表して末尾再帰って感じで、こんな感じで書けました。