summaryrefslogtreecommitdiff
path: root/contrib/extraction/miniml.mli
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/extraction/miniml.mli')
-rw-r--r--contrib/extraction/miniml.mli17
1 files changed, 12 insertions, 5 deletions
diff --git a/contrib/extraction/miniml.mli b/contrib/extraction/miniml.mli
index cf722e4e..e34abe02 100644
--- a/contrib/extraction/miniml.mli
+++ b/contrib/extraction/miniml.mli
@@ -6,7 +6,7 @@
(* * GNU Lesser General Public License Version 2.1 *)
(************************************************************************)
-(*i $Id: miniml.mli 6064 2004-09-06 07:49:51Z letouzey $ i*)
+(*i $Id: miniml.mli 8724 2006-04-20 09:57:01Z letouzey $ i*)
(*s Target language for extraction: a core ML called MiniML. *)
@@ -18,11 +18,18 @@ open Libnames
(* The [signature] type is used to know how many arguments a CIC
object expects, and what these arguments will become in the ML
object. *)
+
+(* We eliminate from terms: 1) types 2) logical parts.
+ [Kother] stands both for logical or unknown reason. *)
+
+type kill_reason = Ktype | Kother
+
+type sign = Keep | Kill of kill_reason
+
-(* Convention: outmost lambda/product gives the head of the list,
- and [true] means that the argument is to be kept. *)
+(* Convention: outmost lambda/product gives the head of the list. *)
-type signature = bool list
+type signature = sign list
(*s ML type expressions. *)
@@ -32,7 +39,7 @@ type ml_type =
| Tvar of int
| Tvar' of int (* same as Tvar, used to avoid clash *)
| Tmeta of ml_meta (* used during ML type reconstruction *)
- | Tdummy
+ | Tdummy of kill_reason
| Tunknown
| Taxiom