comparison src/monoize.sml @ 626:230654093b51

demo/hello compiles with kind polymorphism
author Adam Chlipala <adamc@hcoop.net>
date Sun, 22 Feb 2009 17:17:01 -0500
parents 588b9d16b00a
children aa2290c32ce2
comparison
equal deleted inserted replaced
625:47947d6e9750 626:230654093b51
209 | L.CMap _ => poly () 209 | L.CMap _ => poly ()
210 | L.CUnit => poly () 210 | L.CUnit => poly ()
211 211
212 | L.CTuple _ => poly () 212 | L.CTuple _ => poly ()
213 | L.CProj _ => poly () 213 | L.CProj _ => poly ()
214
215 | L.CKAbs _ => poly ()
216 | L.CKApp _ => poly ()
217 | L.TKFun _ => poly ()
214 end 218 end
215 in 219 in
216 mt env IM.empty 220 mt env IM.empty
217 end 221 end
218 222
2263 (L'.ERecord [], loc)), loc)), loc)), loc) 2267 (L'.ERecord [], loc)), loc)), loc)), loc)
2264 val ek = (L'.EApp (ekf, ek), loc) 2268 val ek = (L'.EApp (ekf, ek), loc)
2265 in 2269 in
2266 ((L'.EServerCall (call, ek, t), loc), fm) 2270 ((L'.EServerCall (call, ek, t), loc), fm)
2267 end 2271 end
2272
2273 | L.EKAbs _ => poly ()
2274 | L.EKApp _ => poly ()
2268 end 2275 end
2269 2276
2270 fun monoDecl (env, fm) (all as (d, loc)) = 2277 fun monoDecl (env, fm) (all as (d, loc)) =
2271 let 2278 let
2272 fun poly () = 2279 fun poly () =