diff options
Diffstat (limited to 'cps.sml')
| -rw-r--r-- | cps.sml | 4 |
1 files changed, 4 insertions, 0 deletions
@@ -47,6 +47,10 @@ struct | Syntax.LInt i => cont (Syntax.VInt i) | Syntax.LString s => cont (Syntax.VString s) | Syntax.LRecord [] => cont (Syntax.VInt 0) + | Syntax.LSelect (i, expr) => + let val temp = Gensym.new () + in toCPS expr (fn x => Syntax.CSelect (i, x, temp, cont (Syntax.VVar temp))) + end | Syntax.LRecord exprs => let fun go [] vars = |
