Lines Matching refs:tyl

233 let apply_subst s1 tyl =
235 Nth n1 -> [List.nth tyl n1]
236 | Map l1 -> List.map (List.nth tyl) l1
237 | Id -> tyl
265 {desc = Tconstr (p1, tyl, _)} ->
266 let tyl = List.map repr tyl in
267 if List.length params = List.length tyl
268 && List.for_all2 (==) params tyl
270 else if cache || List.length params <= List.length tyl
271 || not (uniq tyl) then (p, Id)
273 let l1 = List.map (index params) tyl in
441 let remove_names tyl =
442 let tyl = List.map repr tyl in
443 names := List.filter (fun (ty,_) -> not (List.memq ty tyl)) !names
486 | Ttuple tyl -> List.iter (mark_loops_rec visited) tyl
487 | Tconstr(p, tyl, _) ->
489 List.iter (mark_loops_rec visited) (apply_subst s tyl)
490 | Tpackage (_, _, tyl) ->
491 List.iter (mark_loops_rec visited) tyl
499 | Some(_p, tyl) when namable_row row ->
500 List.iter (mark_loops_rec visited) tyl
528 | Tpoly (ty, tyl) ->
529 List.iter (fun t -> add_alias t) tyl;
546 let reset_and_mark_loops_list tyl =
547 reset (); List.iter mark_loops tyl
580 | Ttuple tyl ->
581 Otyp_tuple (tree_of_typlist sch tyl)
582 | Tconstr(p, tyl, _abbrev) ->
584 let tyl' = apply_subst s tyl in
585 if is_nth s then tree_of_typexp sch (List.hd tyl') else
586 Otyp_constr (tree_of_path p', tree_of_typlist sch tyl')
603 | Some(p, tyl) when namable_row row ->
606 let args = tree_of_typlist sch (apply_subst s tyl) in
634 | Tpoly (ty, tyl) ->
638 let tyl = List.map repr tyl in
639 if tyl = [] then tree_of_typexp sch ty else begin
643 List.iter add_delayed tyl;
644 let tl = List.map name_of_type tyl in
647 remove_names tyl;
652 | Tpackage (p, n, tyl) ->
655 Otyp_module (Path.name p, n, tree_of_typlist sch tyl)
667 | Reither(c, tyl, _, _) ->
669 then (l, true, tree_of_typlist sch tyl)
670 else (l, false, tree_of_typlist sch tyl)
673 and tree_of_typlist sch tyl =
674 List.map (tree_of_typexp sch) tyl
694 | Some (p, ty :: tyl) ->
696 let args = tree_of_typlist sch tyl in
751 let filter_params tyl =
754 (fun tyl ty ->
756 if List.memq ty tyl then Btype.newgenty (Tsubst ty) :: tyl
757 else ty :: tyl)
758 [] tyl
987 Fpresent, {desc=Tpoly(ty, tyl)} -> (ty, tyl)
995 let (ty, tyl) = method_type (lab, kind, ty) in
997 remove_names tyl;
1003 | Cty_constr (_p, tyl, cty) ->
1007 || List.exists (deep_occur sty) tyl
1009 else List.iter mark_loops tyl
1027 | Cty_constr (p', tyl, cty) ->
1034 Octy_constr (tree_of_path p', tree_of_typlist true tyl)