[MLton-commit] r4090

Stephen Weeks MLton@mlton.org
Sun, 11 Sep 2005 16:26:33 -0700


Fixed bug in display of types with large numbers of type variables,
which could cause unhandled exception Chr.


----------------------------------------------------------------------

U   mlton/trunk/doc/changelog
U   mlton/trunk/mlton/elaborate/type-env.fun

----------------------------------------------------------------------

Modified: mlton/trunk/doc/changelog
===================================================================
--- mlton/trunk/doc/changelog	2005-09-11 16:58:45 UTC (rev 4089)
+++ mlton/trunk/doc/changelog	2005-09-11 23:26:29 UTC (rev 4090)
@@ -1,5 +1,9 @@
 Here are the changes since version 20041109.
 
+* 2005-09-11
+  - Fixed bug in display of types with large numbers of type
+    variables, which could cause unhandled exception Chr.
+
 * 2005-09-08
   - Fixed bug in type inference of flexible records that would show up
     as "Type error: variable applied to wrong number of type args"

Modified: mlton/trunk/mlton/elaborate/type-env.fun
===================================================================
--- mlton/trunk/mlton/elaborate/type-env.fun	2005-09-11 16:58:45 UTC (rev 4089)
+++ mlton/trunk/mlton/elaborate/type-env.fun	2005-09-11 23:26:29 UTC (rev 4090)
@@ -644,7 +644,13 @@
                        val n = !r
                        val l =
                           simple
-                          (str (concat ["'", Char.toString (Char.fromInt n)]))
+                          (str (concat
+                                ["'",
+                                 if n > Char.toInt #"z" then
+                                    concat ["a",
+                                            Int.toString (n - Char.toInt #"z")]
+                                 else
+                                    Char.toString (Char.fromInt n )]))
                        val _ = r := 1 + n
                     in
                        l