changeset 5377 | efb799c5ed3c |
5376:60b31a24f1a6 | 5377:efb799c5ed3c |
---|---|
1 consts exec :: ('a => 'v) => 'v list => (('a,'v) instr) list => 'v list |
|
2 primrec |
|
3 "exec s vs [] = vs" |
|
4 "exec s vs (i#is) = (case i of |
|
5 Const v => exec s (v#vs) is |
|
6 | Load a => exec s ((s a)#vs) is |
|
7 | Apply f => exec s ( (f (hd vs) (hd(tl vs)))#(tl(tl vs)) ) is)" |