summaryrefslogtreecommitdiffstats
path: root/camlp4/boot/Camlp4.ml
diff options
context:
space:
mode:
authorJacques Le Normand <rathereasy@gmail.com>2010-11-12 11:33:41 +0000
committerJacques Le Normand <rathereasy@gmail.com>2010-11-12 11:33:41 +0000
commitf24d678e39ac5574b6226f1a6aaa6de9c2ccccc9 (patch)
tree2bca8b2d4daeebc3153fbd602b6b4ed398066c60 /camlp4/boot/Camlp4.ml
parentd2fedeb703120030ff3c204630e1d20e89bf591c (diff)
bootstrapped camlp4 gadts extension
git-svn-id: http://caml.inria.fr/svn/ocaml/branches/gadts@10798 f963ae5c-01c2-4b8c-9fe0-0dff7051ff02
Diffstat (limited to 'camlp4/boot/Camlp4.ml')
-rw-r--r--camlp4/boot/Camlp4.ml32
1 files changed, 14 insertions, 18 deletions
diff --git a/camlp4/boot/Camlp4.ml b/camlp4/boot/Camlp4.ml
index 1eab63ebf..5212d8f39 100644
--- a/camlp4/boot/Camlp4.ml
+++ b/camlp4/boot/Camlp4.ml
@@ -14543,7 +14543,7 @@ module Struct =
| Ast.TyCol (loc, (Ast.TyId (_, (Ast.IdLid (_, s)))), t) ->
(s, Immutable, (mkpolytype (ctyp t)), (mkloc loc))
| _ -> assert false
-
+
let mkvariant =
function
| Ast.TyId (loc, (Ast.IdUid (_, s))) ->
@@ -14551,13 +14551,13 @@ module Struct =
| Ast.TyOf (loc, (Ast.TyId (_, (Ast.IdUid (_, s)))), t) ->
((conv_con s), (List.map ctyp (list_of_ctyp t [])), None,
(mkloc loc))
- | Ast.TyCol (loc, (Ast.TyId (_, (Ast.IdUid (_, s)))), TyArr(_,t1,t2)) ->
+ | Ast.TyCol (loc, (Ast.TyId (_, (Ast.IdUid (_, s)))),
+ (Ast.TyArr (_, t1, t2))) ->
((conv_con s), (List.map ctyp (list_of_ctyp t1 [])),
- Some (ctyp t2),(mkloc loc))
+ (Some (ctyp t2)), (mkloc loc))
| Ast.TyCol (loc, (Ast.TyId (_, (Ast.IdUid (_, s)))), t) ->
- ((conv_con s), [], Some (ctyp t),
- (mkloc loc))
- | _ -> assert false
+ ((conv_con s), [], (Some (ctyp t)), (mkloc loc))
+ | _ -> assert false
let rec type_decl tl cl loc m pflag =
function
@@ -14599,7 +14599,6 @@ module Struct =
| Ast.MuMutable -> Mutable
| Ast.MuNil -> Immutable
| _ -> assert false
-
let paolab lab p =
match (lab, p) with
@@ -14619,10 +14618,10 @@ module Struct =
match t with
| Ast.TyApp (_, t1, t2) ->
type_parameters t1 (type_parameters t2 acc)
- | Ast.TyQuP (_, s) -> (Some s, (true, false)) :: acc
- | Ast.TyQuM (_, s) -> (Some s, (false, true)) :: acc
- | Ast.TyQuo (_, s) -> (Some s, (false, false)) :: acc
- | Ast.TyNil _ -> (None, (true, false)) :: acc
+ | Ast.TyQuP (_, s) -> ((Some s), (true, false)) :: acc
+ | Ast.TyQuM (_, s) -> ((Some s), (false, true)) :: acc
+ | Ast.TyQuo (_, s) -> ((Some s), (false, false)) :: acc
+ | Ast.TyAny _ -> (None, (true, false)) :: acc
| _ -> assert false
let rec class_parameters t acc =
@@ -14640,12 +14639,7 @@ module Struct =
type_parameters_and_type_name t1 (type_parameters t2 acc)
| Ast.TyId (_, i) -> ((ident i), acc)
| _ -> assert false
-
-
-
-
-
let mkwithtyp pwith_type loc id_tpl ct =
let (id, tpl) = type_parameters_and_type_name id_tpl [] in
let (params, variance) = List.split tpl in
@@ -14737,7 +14731,8 @@ module Struct =
then
mkpat loc
(Ppat_construct (li,
- (Some (mkpat loc (Ppat_tuple al))), true, None))
+ (Some (mkpat loc (Ppat_tuple al))), true,
+ None))
else
(let a =
match al with
@@ -14820,7 +14815,8 @@ module Struct =
let is_closed = if wildcards = [] then Closed else Open
in
mkpat loc
- (Ppat_record (((List.map mklabpat ps), is_closed, None)))
+ (Ppat_record
+ (((List.map mklabpat ps), is_closed, None)))
| PaStr (loc, s) ->
mkpat loc
(Ppat_constant