Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Diff of /sml/trunk/src/compiler/FLINT/reps/coerce.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/FLINT/reps/coerce.sml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 183, Sun Nov 8 16:58:19 1998 UTC revision 184, Sun Nov 8 21:18:20 1998 UTC
# Line 36  Line 36 
36    
37  fun mkv _ = LV.mkLvar ()  fun mkv _ = LV.mkLvar ()
38  val ident = fn le => le  val ident = fn le => le
39  val fkfun = FK_FUN{isrec=NONE, known=false, inline=true, fixed=LT.ffc_fixed}  val fkfun = {isrec=NONE, known=false, inline=IH_ALWAYS, cconv=CC_FUN LT.ffc_fixed}
40    val fkfct = {isrec=NONE, known=false, inline=IH_SAFE, cconv=CC_FCT}
41  fun fromto(i,j) = if i < j then (i::fromto(i+1,j)) else []  fun fromto(i,j) = if i < j then (i::fromto(i+1,j)) else []
42    
43  fun opList (NONE :: r) = opList r  fun opList (NONE :: r) = opList r
# Line 286  Line 287 
287                        end                        end
288                      val body = hdr(appWraps(wps, nvs, cont))                      val body = hdr(appWraps(wps, nvs, cont))
289                      val ax = if wflag then ox else nx                      val ax = if wflag then ox else nx
290                      val fdec = (FK_FCT, f, [(v, ax)], body)                      val fdec = (fkfct, f, [(v, ax)], body)
291                   in SOME(doWrap(f, fdec))                   in SOME(doWrap(f, fdec))
292                  end                  end
293                else NONE                else NONE
# Line 309  Line 310 
310                                appWraps(wps1, avs, fn wvs => APP(VAR f, wvs)),                                appWraps(wps1, avs, fn wvs => APP(VAR f, wvs)),
311                                appWraps(wps2, map VAR rvs, fn wvs => RET wvs))                                appWraps(wps2, map VAR rvs, fn wvs => RET wvs))
312    
313                          val rfdec = (FK_FCT, rf, params, rbody)                          val rfdec = (fkfct, rf, params, rbody)
314                          val body = FIX([rfdec], RET[VAR rf])                          val body = FIX([rfdec], RET[VAR rf])
315                          val fdec = (FK_FCT, wf, [(f, ax)], body)                          val fdec = (fkfct, wf, [(f, ax)], body)
316                       in SOME (doWrap(wf, fdec))                       in SOME (doWrap(wf, fdec))
317                      end)                      end)
318            end            end
# Line 332  Line 333 
333                          val nrbody = wpBuild(nwenv, rbody)                          val nrbody = wpBuild(nwenv, rbody)
334                          val atvks = map (fn k => (LT.mkTvar(),k)) aks                          val atvks = map (fn k => (LT.mkTvar(),k)) aks
335                          val body = TFN((rf, atvks, nrbody), RET[VAR rf])                          val body = TFN((rf, atvks, nrbody), RET[VAR rf])
336                          val fdec = (FK_FCT, wf, [(f, ax)], body)                          val fdec = (fkfct, wf, [(f, ax)], body)
337                       in SOME(doWrap(wf, fdec))                       in SOME(doWrap(wf, fdec))
338                      end)                      end)
339            end            end

Legend:
Removed from v.183  
changed lines
  Added in v.184

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0