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/opt/lcontract.sml
ViewVC logotype

Diff of /sml/trunk/src/compiler/FLINT/opt/lcontract.sml

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

revision 202, Sun Dec 13 02:29:45 1998 UTC revision 504, Tue Dec 7 18:31:05 1999 UTC
# Line 14  Line 14 
14        structure LT = LtyExtern        structure LT = LtyExtern
15        structure FU = FlintUtil        structure FU = FlintUtil
16        structure PO = PrimOp        structure PO = PrimOp
17          structure S  = Intset
18          structure M  = Intmap
19        open FLINT        open FLINT
20  in  in
21    
22  fun bug s = ErrorMsg.impossible ("LContract: "^s)  fun bug s = ErrorMsg.impossible ("LContract: "^s)
23  val say = Control.Print.say  val say = Control_Print.say
24  val ident = fn x => x  val ident = fn x => x
25  fun all p (a::r) = p a andalso all p r | all p nil = true  fun all p (a::r) = p a andalso all p r | all p nil = true
26    
# Line 71  Line 73 
73          let fun psv (VAR x) = kill x          let fun psv (VAR x) = kill x
74                | psv _ = ()                | psv _ = ()
75    
76              and pst (v, vks, e) = lple (DI.next d) e              and pst (tfk, v, vks, e) = lple (DI.next d) e
77    
78              and pse (RET vs) = app psv vs              and pse (RET vs) = app psv vs
79                | pse (LET(vs, e1, e2)) = (pse e1; pse e2)                | pse (LET(vs, e1, e2)) = (pse e1; pse e2)
# Line 319  Line 321 
321                       end                       end
322                   | _ => (APP(lpsv u, map lpsv us), false))                   | _ => (APP(lpsv u, map lpsv us), false))
323    
324            | TFN(tfdec as (v, tvks, xe), e) =>            | TFN(tfdec as (tfk, v, tvks, xe), e) =>
325                lplet ((fn z => TFN((v, tvks,                lplet ((fn z => TFN((tfk, v, tvks,
326                                #1(loop xe)), z)),                                #1(loop xe)), z)),
327                       true, v, StdExp, e)                       true, v, StdExp, e)
328            | TAPP(u, ts) => (TAPP(lpsv u, ts), true)            | TAPP(u, ts) => (TAPP(lpsv u, ts), true)
# Line 388  Line 390 
390    
391  end (* toplevel local *)  end (* toplevel local *)
392  end (* structure LContract *)  end (* structure LContract *)
   
   
 (*  
  * $Log$  
  *)  

Legend:
Removed from v.202  
changed lines
  Added in v.504

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