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/SMLNJ/src/compiler/FLINT/kernel/ltykernel.sig
ViewVC logotype

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

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

revision 23, Thu Mar 12 00:49:56 1998 UTC revision 24, Thu Mar 12 00:49:58 1998 UTC
# Line 10  Line 10 
10    = TK_MONO                                   (* ground mono tycon *)    = TK_MONO                                   (* ground mono tycon *)
11    | TK_BOX                                    (* boxed/tagged tycon *)    | TK_BOX                                    (* boxed/tagged tycon *)
12    | TK_SEQ of tkind list                      (* sequence of tycons *)    | TK_SEQ of tkind list                      (* sequence of tycons *)
13    | TK_FUN of tkind list * tkind              (* tycon function *)    | TK_FUN of tkind * tkind                   (* tycon function *)
14    
15  (* definitions of named tyc variables *)  (* definitions of named tyc variables *)
16  type tvar = LambdaVar.lvar                    (* temporary, not used *)  type tvar = LambdaVar.lvar                    (* temporary, not used *)
# Line 32  Line 32 
32    | TC_SUM of tyc list                        (* sum tyc *)    | TC_SUM of tyc list                        (* sum tyc *)
33    | TC_FIX of (int * tyc * tyc list) * int    (* recursive tyc *)    | TC_FIX of (int * tyc * tyc list) * int    (* recursive tyc *)
34    
35    | TC_TUPLE of rflag * tyc list              (* std record tyc *)    | TC_TUPLE of tyc list                      (* std record tyc *)
36    | TC_ARROW of fflag * tyc list * tyc list   (* std function tyc *)    | TC_ARROW of rawflag * tyc list * tyc list (* std function tyc *)
37    | TC_PARROW of tyc * tyc                    (* special fun tyc, not used *)    | TC_PARROW of tyc * tyc                    (* special fun tyc, not used *)
38    
39    | TC_BOX of tyc                             (* boxed tyc *)    | TC_BOX of tyc                             (* boxed tyc *)
# Line 42  Line 42 
42    | TC_IND of tyc * tycI                      (* indirect tyc thunk *)    | TC_IND of tyc * tycI                      (* indirect tyc thunk *)
43    | TC_ENV of tyc * int * int * tycEnv        (* tyc closure *)    | TC_ENV of tyc * int * int * tycEnv        (* tyc closure *)
44    
45  withtype fflag = bool * bool    (* is the calling convention fixed ? *)  withtype rawflag = bool * bool    (* single or multiple arguments/results ? *)
      and rflag = unit           (* record kind, not used at this moment *)  
   
 val default_fflag : fflag       (* (true, true), fixed calling conventions *)  
 val default_rflag : rflag       (* unit, just a template for the time being *)  
46    
47  (* definition of lty *)  (* definition of lty *)
48  type lty  type lty
# Line 115  Line 111 
111  (** automatically flattening the argument or the result type *)  (** automatically flattening the argument or the result type *)
112  val lt_autoflat : lty -> bool * lty list * bool  val lt_autoflat : lty -> bool * lty list * bool
113    
 (** automatically tupling up the multiple argument/result into a single one *)  
 val tc_autotuple : tyc list -> tyc  
   
114  (** tcc_arw does automatic argument and result flattening *)  (** tcc_arw does automatic argument and result flattening *)
115  val tcc_arw : fflag * tyc list * tyc list -> tyc  val tcc_arw : rawflag * tyc list * tyc list -> tyc
   
 (** automatic recursive boxing for representation analysis *)  
 val tcc_wrap : tyc -> tyc       (* wrapping a tyc of any kind *)  
 val tcc_box  : tyc -> tyc       (* wrapping a tyc of kind tkc_mono *)  
116    
117  end (* signature LTYKERNEL *)  end (* signature LTYKERNEL *)
118    

Legend:
Removed from v.23  
changed lines
  Added in v.24

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