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

Diff of /sml/branches/SMLNJ/src/compiler/FLINT/plambda/pflatten.sig

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

revision 17, Wed Mar 11 21:00:18 1998 UTC revision 24, Thu Mar 12 00:49:58 1998 UTC
# Line 1  Line 1 
 (* Copyright (c) 1997 YALE FLINT PROJECT *)  
 (* pflatten.sml *)  
1    
2  signature PFLATTEN =  signature PFLATTEN =
3  sig  sig
# Line 11  Line 9 
9      type value = FLINT.value      type value = FLINT.value
10      type lvar = FLINT.lvar      type lvar = FLINT.lvar
11    
12      (* the following functions are used in flintnm.sml *)      val all_flatten : llty -> (llty list * bool *
13      val ltc_raw : llty -> flty                                 ((lvar * lexp) -> (lvar list * lexp)) *
     val tcc_raw : ltyc -> ftyc  
   
     val t_pflatten   : llty -> bool * llty list * bool  
     val v_punflatten : llty -> ((bool * llty list * bool) *  
                                 ((lvar * lexp) -> (lvar list * lexp)))  
     val v_pflatten   : llty -> ((bool * llty list * bool) *  
14                                  (value -> (value list * (lexp -> lexp))))                                  (value -> (value list * (lexp -> lexp))))
15    
16      (* the following functions are used during type specialization in FLINT *)      val ltc_flat    : llty -> llty list
17        val ltp_flat    : llty -> bool
18        val v_unflatten : llty -> (lvar * lexp) -> (lvar list * lexp)
19        val v_flatten   : llty -> value -> (value list * (lexp -> lexp))
20    
21      val t_flatten   : (flty list * bool) -> bool * flty list * bool      (* recursively turn cooked types into raw when possible *)
22      val v_unflatten : (flty list * bool) ->      val ltc_raw : llty -> flty
23                             ((bool * flty list * bool) *      val tcc_raw : ltyc -> ftyc
                             ((lvar list * lexp) -> (lvar list * lexp)))  
     val v_flatten   : (flty list * bool) ->  
                            ((bool * flty list * bool) *  
                            (value list -> (value list * (lexp -> lexp))))  
24    
25  end (* signature PFLATTEN *)  end

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

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