Home My Page Projects Code Snippets Project Openings diderot
Summary Activity Tracker Tasks SCM

SCM Repository

[diderot] Diff of /branches/vis12/src/compiler/typechecker/typechecker.sml
ViewVC logotype

Diff of /branches/vis12/src/compiler/typechecker/typechecker.sml

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

revision 2270, Thu Mar 7 16:43:52 2013 UTC revision 2271, Thu Mar 7 20:09:32 2013 UTC
# Line 502  Line 502 
502                  in                  in
503                    raise Fail "E_Tuple not yet implemented" (* FIXME *)                    raise Fail "E_Tuple not yet implemented" (* FIXME *)
504                  end                  end
505              | PT.E_Sequence args => let              | PT.E_Sequence args => (case checkExprList (env, cxt, args)
506                  val (args, ty::tys) = checkExprList (env, cxt, args)  (* FIXME: need kind for concrete types here! *)
507                  in                   of ([], _) => (AST.E_Seq[], Ty.T_Sequence(Ty.T_Var(MetaVar.newTyVar()), Ty.DimConst 0))
508                      | (args, ty::tys) =>
509                    if TU.isFixedSizeType(TU.pruneHead ty)                    if TU.isFixedSizeType(TU.pruneHead ty)
510                      then let                      then let
511                        fun chkTy ty' = U.equalType(ty, ty')                        fun chkTy ty' = U.equalType(ty, ty')
# Line 515  Line 516 
516                            else err(cxt, [S "arguments of sequence expression must have same type"])                            else err(cxt, [S "arguments of sequence expression must have same type"])
517                        end                        end
518                      else err(cxt, [S "sequence expression of non-value argument type"])                      else err(cxt, [S "sequence expression of non-value argument type"])
519                  end                  (* end case *))
520              | PT.E_Cons args => let              | PT.E_Cons args => let
521                  val (args, tys as ty::_) = checkExprList (env, cxt, args)                  val (args, tys as ty::_) = checkExprList (env, cxt, args)
522                  in                  in

Legend:
Removed from v.2270  
changed lines
  Added in v.2271

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0