From 92b7e9f1eda84b05bc50f3052913d33b20e067b7 Mon Sep 17 00:00:00 2001 From: Adam Chlipala Date: Tue, 11 Dec 2012 15:58:23 -0500 Subject: Ignore polymorphism in JavaScript calls to custom FFI functions, allowing a kind of simple dynamic typing (unsafe, of course) --- src/monoize.sml | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/monoize.sml b/src/monoize.sml index b1cef64b..39e4853b 100644 --- a/src/monoize.sml +++ b/src/monoize.sml @@ -4087,7 +4087,15 @@ fun monoExp (env, st, fm) (all as (e, loc)) = in ((L'.EAbs (x, monoType env dom, monoType env ran, e), loc), fm) end - | L.ECApp _ => poly () + + | L.ECApp (e, _) => + let + val (e, fm) = monoExp (env, st, fm) e + in + case #1 e of + L'.EFfi _ => (e, fm) + | _ => poly () + end | L.ECAbs _ => poly () | L.EFfi mx => ((L'.EFfi mx, loc), fm) -- cgit v1.2.3