Mercurial > urweb
comparison src/monoize.sml @ 1836:276fa06428ba
Ignore polymorphism in JavaScript calls to custom FFI functions, allowing a kind of simple dynamic typing (unsafe, of course)
author | Adam Chlipala <adam@chlipala.net> |
---|---|
date | Tue, 11 Dec 2012 15:58:23 -0500 |
parents | a8b273f1f7e3 |
children | 146ec8e90063 |
comparison
equal
deleted
inserted
replaced
1835:a8b273f1f7e3 | 1836:276fa06428ba |
---|---|
4085 let | 4085 let |
4086 val (e, fm) = monoExp (Env.pushERel env x dom, st, fm) e | 4086 val (e, fm) = monoExp (Env.pushERel env x dom, st, fm) e |
4087 in | 4087 in |
4088 ((L'.EAbs (x, monoType env dom, monoType env ran, e), loc), fm) | 4088 ((L'.EAbs (x, monoType env dom, monoType env ran, e), loc), fm) |
4089 end | 4089 end |
4090 | L.ECApp _ => poly () | 4090 |
4091 | L.ECApp (e, _) => | |
4092 let | |
4093 val (e, fm) = monoExp (env, st, fm) e | |
4094 in | |
4095 case #1 e of | |
4096 L'.EFfi _ => (e, fm) | |
4097 | _ => poly () | |
4098 end | |
4091 | L.ECAbs _ => poly () | 4099 | L.ECAbs _ => poly () |
4092 | 4100 |
4093 | L.EFfi mx => ((L'.EFfi mx, loc), fm) | 4101 | L.EFfi mx => ((L'.EFfi mx, loc), fm) |
4094 | L.EFfiApp (m, x, es) => | 4102 | L.EFfiApp (m, x, es) => |
4095 let | 4103 let |