1. 04 Nov, 2014 18 commits
  2. 02 Nov, 2014 9 commits
  3. 01 Nov, 2014 1 commit
  4. 31 Oct, 2014 3 commits
  5. 30 Oct, 2014 3 commits
  6. 27 Oct, 2014 2 commits
    • Gabor Greif's avatar
      Typo in comment · 18745013
      Gabor Greif authored
      18745013
    • Herbert Valerio Riedel's avatar
      Un-wire `Integer` type (re #9714) · 0e1f0f7d
      Herbert Valerio Riedel authored
      Integer is currently a wired-in type for integer-gmp. This requires
      replicating its inner structure in `TysWiredIn`, which makes it much
      harder to change Integer to a more complex representation (as
      e.g. needed for implementing #9281)
      
      This commit stops `Integer` being a wired-in type, and makes it
      known-key type instead, thereby simplifying code notably.
      
      Reviewed By: austin
      
      Differential Revision: https://phabricator.haskell.org/D351
      0e1f0f7d
  7. 25 Oct, 2014 1 commit
  8. 24 Oct, 2014 1 commit
    • Edward Z. Yang's avatar
      Implementation of hsig (module signatures), per #9252 · aa479953
      Edward Z. Yang authored
      
      
      Summary:
      Module signatures, like hs-boot files, are Haskell modules which omit
      value definitions and contain only signatures.  This patchset implements
      one particular aspect of module signature, namely compiling them against
      a concrete implementation.  It works like this: when we compile an hsig
      file, we must be told (via the -sig-of flag) what module this signature
      is implementing.  The signature is compiled into an interface file which
      reexports precisely the entities mentioned in the signature file.  We also
      verify that the interface is compatible with the implementation.
      
      This feature is useful in a few situations:
      
          1. Like explicit import lists, signatures can be used to reduce
          sensitivity to upstream changes.  However, a signature can be defined
          once and then reused by many modules.
      
          2. Signatures can be used to quickly check if a new upstream version
          is compatible, by typechecking just the signatures and not the actual
          modules.
      
          3. A signature can be used to mediate separate modular development,
          where the signature is used as a placeholder for functionality which
          is loaded in later.  (This is only half useful at the moment, since
          typechecking against signatures without implementations is not implemented
          in this patchset.)
      
      Unlike hs-boot files, hsig files impose no performance overhead.
      
      This patchset punts on the type class instances (and type families) problem:
      instances simply leak from the implementation to the signature.  You can
      explicitly specify what instances you expect to have, and those will be checked,
      but you may get more instances than you asked for.  Our eventual plan is
      to allow hiding instances, but to consider all transitively reachable instances
      when considering overlap and soundness.
      
      ToDo: signature merging: when a module is provided by multiple signatures
      for the same base implementation, we should not consider this ambiguous.
      
      ToDo: at the moment, signatures do not constitute use-sites, so if you
      write a signature for a deprecated function, you won't get a warning
      when you compile the signature.
      
      Future work: The ability to feed in shaping information so that we can take
      advantage of more type equalities than might be immediately evident.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate and new tests
      
      Reviewers: simonpj, simonmar, hvr, austin
      
      Subscribers: simonmar, relrod, ezyang, carter, goldfire
      
      Differential Revision: https://phabricator.haskell.org/D130
      
      GHC Trac Issues: #9252
      aa479953
  9. 21 Oct, 2014 2 commits
    • mlen's avatar
      Enabled warn on tabs by default (fixes #9230) · 972ba121
      mlen authored
      Summary:
      This revision enables -fwarn-tabs by default and add a suppression
      flag, so that GHC compilation won't fail when some files contain tab
      characters.
      
      Test Plan: Additional test case, T9230, was added to cover that change.
      
      Reviewers: austin
      
      Reviewed By: austin
      
      Subscribers: simonmar, ezyang, carter, thomie, mlen
      
      Differential Revision: https://phabricator.haskell.org/D255
      
      GHC Trac Issues: #9230
      
      Conflicts:
      	testsuite/driver/testlib.py
      972ba121
    • Moritz Angermann's avatar
      Fixes the ARM build · 69f63612
      Moritz Angermann authored
      
      
      Summary:
      CodeGen.Platform.hs was changed with the following diff:
      
         -#endif
          globalRegMaybe _                        = Nothing
         +#elif MACHREGS_NO_REGS
         +globalRegMaybe _ = Nothing
         +#else
         +globalRegMaybe = panic "globalRegMaybe not defined for this platform"
         +#endif
      
      which causes globalRegMaybe ot panic for arch ARM.
      
      This patch ensures globalRegMaybe is not called on ARM.
      Signed-off-by: Moritz Angermann's avatarMoritz Angermann <moritz@lichtzwerge.de>
      
      Test Plan: Building arm cross-compiler (e.g. --target=arm-apple-darwin10)
      
      Reviewers: hvr, ezyang, simonmar, rwbarton, austin
      
      Reviewed By: austin
      
      Subscribers: dterei, bgamari, simonmar, ezyang, carter
      
      Differential Revision: https://phabricator.haskell.org/D208
      
      GHC Trac Issues: #9593
      69f63612