Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/compiler/FLINT/plambda/pflatten.sig
ViewVC logotype

Annotation of /sml/trunk/src/compiler/FLINT/plambda/pflatten.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 113 - (view) (download) (as text)
Original Path: sml/branches/SMLNJ/src/compiler/FLINT/plambda/pflatten.sig

1 : monnier 45 (* Copyright (c) 1997 YALE FLINT PROJECT *)
2 :     (* pflatten.sml *)
3 : monnier 16
4 :     signature PFLATTEN =
5 :     sig
6 : monnier 45 type llty = PLambda.lty
7 :     type ltyc = PLambda.tyc
8 :     type flty = FLINT.lty
9 :     type ftyc = FLINT.tyc
10 :     type lexp = FLINT.lexp
11 : monnier 16 type value = FLINT.value
12 : monnier 45 type lvar = FLINT.lvar
13 : monnier 16
14 : monnier 45 (* the following functions are used in flintnm.sml *)
15 :     val ltc_raw : llty -> flty
16 :     val tcc_raw : ltyc -> ftyc
17 : monnier 24
18 : monnier 45 val t_pflatten : llty -> bool * llty list * bool
19 : monnier 24
20 : monnier 45 val v_punflatten : llty -> ((bool * llty list * bool) *
21 :     ((lvar * lexp) -> (lvar list * lexp)))
22 : monnier 16
23 : monnier 45 val v_pflatten : llty -> ((bool * llty list * bool) *
24 :     (value -> (value list * (lexp -> lexp))))
25 :    
26 :     (* the following functions are used during type specialization in FLINT *)
27 :     val t_flatten : (flty list * bool) -> bool * flty list * bool
28 :    
29 :     val v_unflatten : (flty list * bool) ->
30 :     ((bool * flty list * bool) *
31 :     ((lvar list * lexp) -> (lvar list * lexp)))
32 :    
33 :     val v_flatten : (flty list * bool) ->
34 :     ((bool * flty list * bool) *
35 :     (value list -> (value list * (lexp -> lexp))))
36 :    
37 :     (* the following function is used by representation analysis in FLINT *)
38 :     val v_coerce : bool * ftyc list * ftyc list ->
39 :     (ftyc list *
40 :     (value list -> (value list * (lexp -> lexp))) option)
41 :    
42 :     end (* signature PFLATTEN *)
43 :    
44 :    
45 :    
46 : monnier 93
47 :     (*
48 : monnier 113 * $Log$
49 : monnier 93 *)

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