/[svn]/typing/typer.ml
ViewVC logotype

Diff of /typing/typer.ml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 31 by abate, Tue Jul 10 16:59:30 2007 UTC revision 32 by abate, Tue Jul 10 16:59:33 2007 UTC
# Line 507  Line 507 
507          let res = Sequence.concat t1 t2 in          let res = Sequence.concat t1 t2 in
508          check loc res constr "";          check loc res constr "";
509          if precise then res else constr          if precise then res else constr
510      | Op ("flatten", [e]) ->
511          let constr' = Sequence.star
512                          (Sequence.approx (Types.cap Sequence.any constr)) in
513          let sconstr' = Sequence.star constr' in
514          let exact = Types.subtype constr' constr in
515          if exact then
516            let t = type_check env e sconstr' precise in
517            if precise then Sequence.flatten t else constr
518          else
519            let t = type_check env e sconstr' true in
520            let res = Sequence.flatten t in
521            check loc res constr "";
522            if precise then res else constr
523    | _ ->    | _ ->
524        let t : Types.descr = compute_type' loc env e in        let t : Types.descr = compute_type' loc env e in
525        check loc t constr "";        check loc t constr "";

Legend:
Removed from v.31  
changed lines
  Added in v.32

CVS Admin">CVS Admin
ViewVC Help
Powered by ViewVC 1.1.5