Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Tracker SCM

SCM Repository

[smlnj] Diff of /sml/branches/SMLNJ/src/compiler/FLINT/kernel/ltybasic.sig
ViewVC logotype

Diff of /sml/branches/SMLNJ/src/compiler/FLINT/kernel/ltybasic.sig

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

revision 44, Sun Mar 22 20:10:57 1998 UTC revision 45, Sun Mar 22 20:11:09 1998 UTC
# Line 34  Line 34 
34  val tkc_int    : int -> tkind  val tkc_int    : int -> tkind
35  val tkc_arg    : int -> tkind list  val tkc_arg    : int -> tkind list
36    
37    (** primitives and utility functions for fflags and rflags *)
38    val ffc_plambda: fflag
39    val ffc_rrflint: fflag
40    val ffc_fspec  : fflag * (bool * bool) -> fflag
41    val ffd_fspec  : fflag -> bool * bool
42    
43  (** primitive lambda tycs *)  (** primitive lambda tycs *)
44  val tcc_int    : tyc  val tcc_int    : tyc
45  val tcc_int32  : tyc  val tcc_int32  : tyc
# Line 68  Line 74 
74    
75  val ltc_top    : lty    (* used in a dirty hack in prim.sml *)  val ltc_top    : lty    (* used in a dirty hack in prim.sml *)
76    
77  (** testing equivalence of tkinds, tycs, and ltys *)  (** testing equivalence of tkinds, tycs, ltys, fflags, and rflags *)
78  val tk_eqv     : tkind * tkind -> bool  val tk_eqv     : tkind * tkind -> bool
79  val tc_eqv     : tyc * tyc -> bool  val tc_eqv     : tyc * tyc -> bool
80  val lt_eqv     : lty * lty -> bool  val lt_eqv     : lty * lty -> bool
81    val ff_eqv     : fflag * fflag -> bool
82    val rf_eqv     : rflag * rflag -> bool
83    
84  (** testing the equivalence for tycs and ltys with relaxed constraints *)  (** testing the equivalence for tycs and ltys with relaxed constraints *)
85    val tc_eqv_x   : tyc * tyc -> bool
86    val lt_eqv_x   : lty * lty -> bool
87  val tc_eqv_bx: tyc * tyc -> bool  val tc_eqv_bx: tyc * tyc -> bool
88  val lt_eqv_bx: lty * lty -> bool  val lt_eqv_bx: lty * lty -> bool
89    
# Line 85  Line 95 
95  (** adjusting an lty or tyc from one depth to another *)  (** adjusting an lty or tyc from one depth to another *)
96  val lt_adj     : lty * depth * depth -> lty  val lt_adj     : lty * depth * depth -> lty
97  val tc_adj     : tyc * depth * depth -> tyc  val tc_adj     : tyc * depth * depth -> tyc
98  val tc_adj_one : tyc * depth * depth -> tyc  
99                                  (* used by trans/transtypes.sml *)  val lt_adj_k   : lty * depth * depth * int -> lty
100    val tc_adj_k   : tyc * depth * depth * int -> tyc
101    
102  (** finding out the depth for a tyc's innermost-bound free variables *)  (** finding out the depth for a tyc's innermost-bound free variables *)
103  val tc_depth : tyc * depth -> depth  val tc_depth : tyc * depth -> depth
# Line 95  Line 106 
106  (** automatically flattening the argument or the result type *)  (** automatically flattening the argument or the result type *)
107  val lt_autoflat : lty -> bool * lty list * bool  val lt_autoflat : lty -> bool * lty list * bool
108    
109    (** testing if a tyc is a unknown constructor *)
110    val tc_unknown : tyc -> bool
111    
112  (** utility functions on tkindEnv *)  (** utility functions on tkindEnv *)
113  type tkindEnv  type tkindEnv
114  exception tkUnbound  exception tkUnbound

Legend:
Removed from v.44  
changed lines
  Added in v.45

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