diff options
Diffstat (limited to 'src/monoize.sml')
-rw-r--r-- | src/monoize.sml | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/monoize.sml b/src/monoize.sml index ebca1d43..09735568 100644 --- a/src/monoize.sml +++ b/src/monoize.sml @@ -478,6 +478,14 @@ fun monoExp (env, st, fm) (all as (e, loc)) = in ((L'.ECon (dk, monoPatCon env pc, eo), loc), fm) end + | L.ECon (L.Option, _, [t], NONE) => + ((L'.ENone (monoType env t), loc), fm) + | L.ECon (L.Option, _, [t], SOME e) => + let + val (e, fm) = monoExp (env, st, fm) e + in + ((L'.ESome (monoType env t, e), loc), fm) + end | L.ECon _ => poly () | L.ECApp ((L.EFfi ("Basis", "show"), _), t) => |