diff -Naur marionnet-0.90.6/chip/chip_parser_p4.ml marionnet-0.90.6-patched/chip/chip_parser_p4.ml --- marionnet-0.90.6/chip/chip_parser_p4.ml 2010-12-03 12:16:05.000000000 +0100 +++ marionnet-0.90.6-patched/chip/chip_parser_p4.ml 2011-03-30 15:49:48.366483994 +0200 @@ -49,7 +49,7 @@ let lambda_class_expr _loc xs body = List.fold_right (fun x b -> <:class_expr< fun $x$ -> $b$>>) xs body (* Make a multiple abstraction to a type. *) - let lambda_ctyp _loc xs body = List.fold_right (fun x b -> <:ctyp< $x$ -> $b$>>) xs body + let lambda_ctyp _loc xs body = List.fold_right (fun x b -> <:ctyp< ($x$ -> $b$)>>) xs body (* Make a fresh identifier (string). *) let fresh_var_name ~blacklist ~prefix = @@ -243,18 +243,18 @@ | [] , [] -> assert false | _ , [] -> let i_forall_vars = List.fold_left (fun x y -> Ast.TyApp (_loc,x,y)) (List.hd qivl) (List.tl qivl) in - let method_type = Ast.TyPol (_loc, i_forall_vars, <:ctyp< $it$ -> unit>>) in + let method_type = Ast.TyPol (_loc, i_forall_vars, <:ctyp< ($it$ -> unit)>>) in [ <:class_str_item< method connect : $method_type$ = function $pi$ -> begin $connect_actions$ end >> ] | [] , _ -> let o_forall_vars = List.fold_left (fun x y -> Ast.TyApp (_loc,x,y)) (List.hd qovl) (List.tl qovl) in - let method_type = Ast.TyPol (_loc, o_forall_vars, <:ctyp< $ot$ -> unit>>) in + let method_type = Ast.TyPol (_loc, o_forall_vars, <:ctyp< ($ot$ -> unit)>>) in [ <:class_str_item< method connect : $method_type$ = function $po$ -> begin $connect_actions$ end >> ] | _ , _ -> let qvl = List.append qivl qovl in let forall_vars = List.fold_left (fun x y -> Ast.TyApp (_loc,x,y)) (List.hd qvl) (List.tl qvl) in - let method_type = Ast.TyPol (_loc, forall_vars, <:ctyp< $it$ -> $ot$ -> unit>>) in + let method_type = Ast.TyPol (_loc, forall_vars, <:ctyp< ($it$ -> $ot$ -> unit)>>) in [ <:class_str_item< method connect : $method_type$ = function $pi$ -> function $po$ -> begin $connect_actions$ end >> ] in