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

Diff of /sml/trunk/src/compiler/FLINT/reps/typeoper.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 57  Line 57 
57  fun say (s : string) = Control.Print.say s  fun say (s : string) = Control.Print.say s
58  fun mkv _ = LV.mkLvar()  fun mkv _ = LV.mkLvar()
59  val ident = fn le => le  val ident = fn le => le
60  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}
61    val fkfct = {isrec=NONE, known=false, inline=IH_SAFE, cconv=CC_FCT}
62    
63  fun mkarw(ts1, ts2) = LT.tcc_arrow(LT.ffc_fixed, ts1, ts2)  fun mkarw(ts1, ts2) = LT.tcc_arrow(LT.ffc_fixed, ts1, ts2)
64    
# Line 195  Line 196 
196  (* val tkAbsGen : kenv * lvar list * tkind list * lvar * fkind  (* val tkAbsGen : kenv * lvar list * tkind list * lvar * fkind
197                    -> kenv * ((lexp *lexp) -> lexp) *)                    -> kenv * ((lexp *lexp) -> lexp) *)
198  fun tkAbsGen (kenv, vs, ks, f, fk) =  fun tkAbsGen (kenv, vs, ks, f, fk) =
199    let val mkArgTy = case fk of FK_FUN _ => LT.ltc_tuple    let val mkArgTy = case fk of {cconv=CC_FUN _,...} => LT.ltc_tuple
200                               | FK_FCT => LT.ltc_str                               | {cconv=CC_FCT,...} => LT.ltc_str
201        val argt = mkArgTy (map LT.tk_lty ks)        val argt = mkArgTy (map LT.tk_lty ks)
202    
203        val w = mkv()        val w = mkv()
# Line 210  Line 211 
211  (* val tkAbs: kenv * (tvar * tkind) list -> kenv * (lexp * lexp -> lexp) *)  (* val tkAbs: kenv * (tvar * tkind) list -> kenv * (lexp * lexp -> lexp) *)
212  fun tkAbs (kenv, tvks, f) =  fun tkAbs (kenv, tvks, f) =
213    let val (vs, ks) = ListPair.unzip tvks    let val (vs, ks) = ListPair.unzip tvks
214     in tkAbsGen(kenv, vs, ks, f, FK_FCT)     in tkAbsGen(kenv, vs, ks, f, fkfct)
215    end    end
216    
217  (* val tkTfn: kenv * tkind list -> kenv * (lexp -> lexp) *)  (* val tkTfn: kenv * tkind list -> kenv * (lexp -> lexp) *)

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