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

SCM Repository

[smlnj] View of /sml/branches/SMLNJ/src/compiler/FLINT/plambda/pflatten.sig
ViewVC logotype

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 17 - (download) (as text) (annotate)
Wed Mar 11 21:00:18 1998 UTC (22 years, 5 months ago)
File size: 1249 byte(s)
This commit was manufactured by cvs2svn to create branch 'SMLNJ'.
(* Copyright (c) 1997 YALE FLINT PROJECT *)
(* pflatten.sml *)

signature PFLATTEN =
sig
    type llty = PLambda.lty
    type ltyc = PLambda.tyc
    type flty = FLINT.lty
    type ftyc = FLINT.tyc
    type lexp = FLINT.lexp
    type value = FLINT.value
    type lvar = FLINT.lvar

    (* the following functions are used in flintnm.sml *)
    val ltc_raw : llty -> flty
    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) *
                                (value -> (value list * (lexp -> lexp))))

    (* the following functions are used during type specialization in FLINT *)

    val t_flatten   : (flty list * bool) -> bool * flty list * bool
    val v_unflatten : (flty list * bool) -> 
                           ((bool * flty list * bool) *
                            ((lvar list * lexp) -> (lvar list * lexp)))
    val v_flatten   : (flty list * bool) -> 
                           ((bool * flty list * bool) *
                           (value list -> (value list * (lexp -> lexp))))

end (* signature PFLATTEN *)

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