logo       
Google Custom Search
    AddThis Social Bookmark Button

cvs commit: fptools/ghc/compiler/typecheck Inst.lhs TcBinds.lhs TcExpr.h: msg#00085

Subject: cvs commit: fptools/ghc/compiler/typecheck Inst.lhs TcBinds.lhs TcExpr.hi-boot-6 TcExpr.lhs TcForeign.lhs TcMType.lhs TcMatches.hi-boot-6 TcMatches.lhs TcPat.lhs TcRnDriver.lhs TcRules.lhs TcSplice.lhs TcType.lhs TcUnify.lhs
simonpj     2003/04/16 06:34:17 PDT

  Modified files:
    ghc/compiler/typecheck Inst.lhs TcBinds.lhs TcExpr.hi-boot-6 
                           TcExpr.lhs TcForeign.lhs TcMType.lhs 
                           TcMatches.hi-boot-6 TcMatches.lhs 
                           TcPat.lhs TcRnDriver.lhs TcRules.lhs 
                           TcSplice.lhs TcType.lhs TcUnify.lhs 
  Log:
        ----------------------------------
   Use the Infer/Check idea for typechecking higher-rank types
        ----------------------------------
  
  The main idea is that
  
        data Expected ty = Infer (TcRef ty) | Check ty
  
        tcMonoExpr :: Expr -> Expected TcRhoType -> TcM Expra
  
  This "Expected" type tells tcMonoExpr whether it's doing inference or
  checking.  It replaces the "HoleTv" flavour of type variable.
  
  This actually leads to slightly more lines of code, but it's much
  clearer, and the new type distinctions showed up several subtle bugs
  in the previous implementation.  It all arose out of writing the
  prototype implementation for the paper.
  
  Error messages wibble around a little bit.  I'm not quite certain why!  But 
the
  changes look like improvements to me.
  
  Revision  Changes    Path
  1.117     +7 -11     fptools/ghc/compiler/typecheck/Inst.lhs
  1.116     +21 -23    fptools/ghc/compiler/typecheck/TcBinds.lhs
  1.5       +7 -2      fptools/ghc/compiler/typecheck/TcExpr.hi-boot-6
  1.151     +106 -105  fptools/ghc/compiler/typecheck/TcExpr.lhs
  1.60      +2 -2      fptools/ghc/compiler/typecheck/TcForeign.lhs
  1.45      +2 -40     fptools/ghc/compiler/typecheck/TcMType.lhs
  1.5       +3 -3      fptools/ghc/compiler/typecheck/TcMatches.hi-boot-6
  1.75      +95 -63    fptools/ghc/compiler/typecheck/TcMatches.lhs
  1.88      +63 -48    fptools/ghc/compiler/typecheck/TcPat.lhs
  1.32      +3 -4      fptools/ghc/compiler/typecheck/TcRnDriver.lhs
  1.45      +4 -3      fptools/ghc/compiler/typecheck/TcRules.lhs
  1.21      +7 -7      fptools/ghc/compiler/typecheck/TcSplice.lhs
  1.88      +2 -16     fptools/ghc/compiler/typecheck/TcType.lhs
  1.46      +222 -168  fptools/ghc/compiler/typecheck/TcUnify.lhs



Try Searching:
servers, voip, java, networking, microsoft ...
<Prev in Thread] Current Thread [Next in Thread>