70 |
| toStringValue (F.STRING s) = PU.mlstr s |
| toStringValue (F.STRING s) = PU.mlstr s |
71 |
|
|
72 |
val printSval = say o toStringValue |
val printSval = say o toStringValue |
73 |
|
val LVarString = ref LV.lvarName |
74 |
|
|
75 |
val printVar = say o LV.lvarName |
fun printVar v = say (!LVarString v) |
76 |
val printTyc = say o LT.tc_print |
val printTyc = say o LT.tc_print |
77 |
val printLty = say o LT.lt_print |
val printLty = say o LT.lt_print |
78 |
fun printTvTk (tv:LT.tvar,tk) = |
fun printTvTk (tv:LT.tvar,tk) = |
144 |
+ 2 (* for the "[]" *) |
+ 2 (* for the "[]" *) |
145 |
+ (length vars) (* for each comma *) |
+ (length vars) (* for each comma *) |
146 |
+ (foldl (* sum of varname lengths *) |
+ (foldl (* sum of varname lengths *) |
147 |
(fn (v,n) => n + (size (LV.lvarName v))) |
(fn (v,n) => n + (size (!LVarString v))) |
148 |
0 vars)) |
0 vars)) |
149 |
in |
in |
150 |
indent len; pLexp lexp; undent len |
indent len; pLexp lexp; undent len |
320 |
print "],"; newline(); |
print "],"; newline(); |
321 |
undent 2; dent(); |
undent 2; dent(); |
322 |
pLexp body; |
pLexp body; |
323 |
undent 4) |
undent 4; say ")") |
324 |
|
|
325 |
and printCase (con, lexp) = |
and printCase (con, lexp) = |
326 |
(printCon con; |
(printCon con; |