Commit 0a9b1362 authored by's avatar
Browse files

Print out rational literals correctly in External Core

The External Core printer was printing out rational literals of the
when the External Core grammar doesn't allow this. (This
bug has apparently been there since the beginning...)

It's now printing rationals in the same form that (show (r::Rational))
does. This requires a parser change as well (soon to come.)
parent 81e51a26
......@@ -190,7 +190,9 @@ palt (Adefault e) =
plit :: Lit -> Doc
plit (Lint i t) = parens (integer i <> text "::" <> pty t)
plit (Lrational r t) = parens (rational r <> text "::" <> pty t) -- might be better to print as two integers
-- we use (text (show r)) because "(rational r)" was printing out things
-- like "2.0e-2" (which isn't External Core)
plit (Lrational r t) = parens (text (show r) <> text "::" <> pty t)
plit (Lchar c t) = parens (text ("\'" ++ escape [c] ++ "\'") <> text "::" <> pty t)
plit (Lstring s t) = parens (pstring s <> text "::" <> pty t)
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment