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/lty.sig
ViewVC logotype

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

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

revision 2039, Tue Aug 22 22:54:10 2006 UTC revision 2040, Wed Aug 23 23:44:18 2006 UTC
# Line 150  Line 150 
150  val initTkEnv        : tkindEnv  val initTkEnv        : tkindEnv
151  val tkLookup         : tkindEnv * int * int -> tkind  val tkLookup         : tkindEnv * int * int -> tkind
152  val tkInsert         : tkindEnv * tkind list -> tkindEnv  val tkInsert         : tkindEnv * tkind list -> tkindEnv
 val tkLookupFreeVars : tkindEnv * tyc -> tkind list option  
153    
154  (* token functions *)  (* token functions *)
155  val register_token : token_info -> token  val register_token : token_info -> token
# Line 185  Line 184 
184  val tc_nvars : tyc -> tvar list  val tc_nvars : tyc -> tvar list
185  val lt_nvars : lty -> tvar list  val lt_nvars : lty -> tvar list
186    
187  (* Kind checker *)  (** tkind constructors *)
188  exception TkTycChk of string  val tkc_mono   : tkind
189  exception LtyAppChk  val tkc_box    : tkind
190    val tkc_seq    : tkind list -> tkind
191  val tkTycGen : unit -> (tkindEnv -> tyc -> tkind)  val tkc_fun    : tkind list * tkind -> tkind
192  val tkChkGen : unit -> (tkindEnv -> (tkind * tyc) -> unit)  
193  val ltyChkGen : unit -> (tkindEnv -> lty -> tkind)  (** tkind deconstructors *)
194  val tkTycGen' : unit -> (tkindEnv -> tyc -> tkind) *  val tkd_mono   : tkind -> unit
195                          (tycEnv * int * tkindEnv -> unit)  val tkd_box    : tkind -> unit
196    val tkd_seq    : tkind -> tkind list
197    val tkd_fun    : tkind -> tkind list * tkind
198    
199    (** tkind predicates *)
200    val tkp_mono   : tkind -> bool
201    val tkp_box    : tkind -> bool
202    val tkp_seq    : tkind -> bool
203    val tkp_fun    : tkind -> bool
204    
205    (** tkind one-arm switch *)
206    val tkw_mono   : tkind * (unit -> 'a) * (tkind -> 'a) -> 'a
207    val tkw_box    : tkind * (unit -> 'a) * (tkind -> 'a) -> 'a
208    val tkw_seq    : tkind * (tkind list -> 'a) * (tkind -> 'a) -> 'a
209    val tkw_fun    : tkind * (tkind list * tkind -> 'a) * (tkind -> 'a) -> 'a
210    
211    (** subkind relation **)
212    val tksSubkind : tkind list * tkind list -> bool
213    val tkSubkind : tkind * tkind -> bool
214    
215    (** utility functions for constructing tkinds *)
216    val tkc_fn1 : tkind
217    val tkc_fn2 : tkind
218    val tkc_fn3 : tkind
219    
220    val tkc_int : int -> tkind
221    val tkc_arg : int -> tkind list
222    
223    (* is a kind monomorphic? *)
224    val tkIsMono : tkind -> bool
225    
226  end (* signature LTY *)  end (* signature LTY *)

Legend:
Removed from v.2039  
changed lines
  Added in v.2040

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