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/branches/primop-branch-2/src/compiler/FLINT/kernel/ltyextern.sml
ViewVC logotype

Diff of /sml/branches/primop-branch-2/src/compiler/FLINT/kernel/ltyextern.sml

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

revision 2029, Fri Aug 18 16:24:18 2006 UTC revision 2030, Fri Aug 18 17:28:28 2006 UTC
# Line 56  Line 56 
56  fun lt_pinst (lt : lty, ts : tyc list) =  fun lt_pinst (lt : lty, ts : tyc list) =
57    (case lt_inst (lt, ts) of [y] => y | _ => bug "unexpected lt_pinst")    (case lt_inst (lt, ts) of [y] => y | _ => bug "unexpected lt_pinst")
58    
59    (*
60  (********************************************************************  (********************************************************************
61   *                      KIND-CHECKING ROUTINES                      *   *                      KIND-CHECKING ROUTINES                      *
62   ********************************************************************)   ********************************************************************)
# Line 133  Line 134 
134   * tyc to an association list that maps the kinds of the free   * tyc to an association list that maps the kinds of the free
135   * variables in the tyc (represented as a TK_SEQ) to the tyc's kind.   * variables in the tyc (represented as a TK_SEQ) to the tyc's kind.
136   *)   *)
137     *)
138  structure TcDict = BinaryMapFn  structure TcDict = BinaryMapFn
139                       (struct                       (struct
140                          type ord_key = tyc                          type ord_key = tyc
141                          val compare = LT.tc_cmp                          val compare = LT.tc_cmp
142                        end)                        end)
143     (*
144  structure Memo :> sig  structure Memo :> sig
145    type dict    type dict
146    val newDict         : unit -> dict    val newDict         : unit -> dict
# Line 307  Line 309 
309              tkAssertSubkind (tkTyc kenv tc, k)              tkAssertSubkind (tkTyc kenv tc, k)
310      in tkChk      in tkChk
311      end      end
312    *)
313    
314  (* lty application with kind-checking (exported) *)  (* lty application with kind-checking (exported) *)
315  fun lt_inst_chk_gen() = let  fun lt_inst_chk_gen() = let
316      val tkChk = tkChkGen()      val tkChk = LT.tkChkGen()
317      fun lt_inst_chk (lt : lty, ts : tyc list, kenv : tkindEnv) =      fun lt_inst_chk (lt : lty, ts : tyc list, kenv : tkindEnv) =
318          let val nt = lt_whnm lt          let val nt = lt_whnm lt
319          in (case ((* lt_outX *) lt_out nt, ts)          in (case ((* lt_outX *) lt_out nt, ts)
# Line 320  Line 323 
323                   in map h b                   in map h b
324                   end                   end
325                 | (_, []) => [nt]    (* ? problematic *)                 | (_, []) => [nt]    (* ? problematic *)
326                 | _ => raise LtyAppChk)                 | _ => raise LT.LtyAppChk)
327          end          end
328  in  in
329      lt_inst_chk      lt_inst_chk

Legend:
Removed from v.2029  
changed lines
  Added in v.2030

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