Mercurial > urweb
comparison src/flat_print.sml @ 52:198172560b73
FFI through cloconv
author | Adam Chlipala <adamc@hcoop.net> |
---|---|
date | Sun, 22 Jun 2008 10:17:34 -0400 |
parents | 1c91c5e6840f |
children | 717b6f8d8505 |
comparison
equal
deleted
inserted
replaced
51:92361a008a10 | 52:198172560b73 |
---|---|
64 | TNamed n => | 64 | TNamed n => |
65 if !debug then | 65 if !debug then |
66 string (#1 (E.lookupTNamed env n) ^ "__" ^ Int.toString n) | 66 string (#1 (E.lookupTNamed env n) ^ "__" ^ Int.toString n) |
67 else | 67 else |
68 string (#1 (E.lookupTNamed env n)) | 68 string (#1 (E.lookupTNamed env n)) |
69 | TFfi (m, x) => box [string "FFI(", string m, string ".", string x, string ")"] | |
69 | 70 |
70 and p_typ env = p_typ' false env | 71 and p_typ env = p_typ' false env |
71 | 72 |
72 fun p_exp' par env (e, _) = | 73 fun p_exp' par env (e, _) = |
73 case e of | 74 case e of |
81 | ENamed n => | 82 | ENamed n => |
82 if !debug then | 83 if !debug then |
83 string (#1 (E.lookupENamed env n) ^ "__" ^ Int.toString n) | 84 string (#1 (E.lookupENamed env n) ^ "__" ^ Int.toString n) |
84 else | 85 else |
85 string (#1 (E.lookupENamed env n)) | 86 string (#1 (E.lookupENamed env n)) |
87 | EFfi (m, x) => box [string "FFI(", string m, string ".", string x, string ")"] | |
88 | EFfiApp (m, x, es) => box [string "FFI(", | |
89 string m, | |
90 string ".", | |
91 string x, | |
92 string "(", | |
93 p_list (p_exp env) es, | |
94 string "))"] | |
86 | ECode n => string ("code$" ^ Int.toString n) | 95 | ECode n => string ("code$" ^ Int.toString n) |
87 | EApp (e1, e2) => parenIf par (box [p_exp env e1, | 96 | EApp (e1, e2) => parenIf par (box [p_exp env e1, |
88 space, | 97 space, |
89 p_exp' true env e2]) | 98 p_exp' true env e2]) |
90 | 99 |