1. 12 May, 2015 1 commit
  2. 11 May, 2015 1 commit
    • Edward Z. Yang's avatar
      Support stage 1 Template Haskell (non-quasi) quotes, fixes #10382. · f16ddcee
      Edward Z. Yang authored
      
      
      Summary:
      This commit adds stage 1 support for Template Haskell
      quoting, e.g. [| ... expr ... |], which is useful
      for authors of quasiquoter libraries that do not actually
      need splices.  The TemplateHaskell extension now does not
      unconditionally fail; it only fails if the renamer encounters
      a splice that it can't run.
      
      In order to make sure the referenced data structures
      are consistent, template-haskell is now a boot library.
      There are some minor BC changes to template-haskell to make it boot
      on GHC 7.8.
      
      Note for reviewer: big diff changes are simply code
      being moved out of an ifdef; there was no other substantive
      change to that code.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: simonpj, austin, goldfire
      
      Subscribers: bgamari, thomie
      
      Differential Revision: https://phabricator.haskell.org/D876
      
      GHC Trac Issues: #10382
      f16ddcee
  3. 09 May, 2015 2 commits
  4. 09 Sep, 2014 1 commit
    • Herbert Valerio Riedel's avatar
      Bump `base` version to 4.8.0.0 for real · c6f502b2
      Herbert Valerio Riedel authored
      This commit updates several submodules in order to bump
      the upper bounds on `base` of most boot packages
      
      Moreover, this updates some of the test-suite cases which have
      version numbers hardcoded within.
      
      However, I'm not sure if this commit didn't introduce the following
      two test-failures
      
         ghc-api  T8628 [bad stdout] (normal)
         ghc-api  T8639_api [bad stdout] (normal)
      
      This needs investigation
      c6f502b2
  5. 05 Aug, 2014 1 commit
    • Edward Z. Yang's avatar
      Package keys (for linking/type equality) separated from package IDs. · 66218d15
      Edward Z. Yang authored
      
      
      This patch set makes us no longer assume that a package key is a human
      readable string, leaving Cabal free to "do whatever it wants" to allocate
      keys; we'll look up the PackageId in the database to display to the user.
      This also means we have a new level of qualifier decisions to make at the
      package level, and rewriting some Safe Haskell error reporting code to DTRT.
      
      Additionally, we adjust the build system to use a new ghc-cabal output
      Make variable PACKAGE_KEY to determine library names and other things,
      rather than concatenating PACKAGE/VERSION as before.
      
      Adds a new `-this-package-key` flag to subsume the old, erroneously named
      `-package-name` flag, and `-package-key` to select packages by package key.
      
      RFC: The md5 hashes are pretty tough on the eye, as far as the file
      system is concerned :(
      
      ToDo: safePkg01 test had its output updated, but the fix is not really right:
      the rest of the dependencies are truncated due to the fact the we're only
      grepping a single line, but ghc-pkg is wrapping its output.
      
      ToDo: In a later commit, update all submodules to stop using -package-name
      and use -this-package-key.  For now, we don't do it to avoid submodule
      explosion.
      Signed-off-by: default avatarEdward Z. Yang <ezyang@cs.stanford.edu>
      
      Test Plan: validate
      
      Reviewers: simonpj, simonmar, hvr, austin
      
      Subscribers: simonmar, relrod, carter
      
      Differential Revision: https://phabricator.haskell.org/D80
      66218d15
  6. 25 Apr, 2014 1 commit
    • Herbert Valerio Riedel's avatar
      Drop `template-haskell`'s build-dep on `containers` · 07388af8
      Herbert Valerio Riedel authored
      This is an attempt to address
      
        https://github.com/haskell/cabal/issues/1811
      
      
      
      by replicating the less than 100 lines of code actually used from the
      containers package into an internal non-exposed `template-haskell` module.
      
      Moreover, `template-haskell` does not expose the `Map` type, so this change
      should have no visible effect on the public API.
      
      It may turn out that `Data.Map` is not necessary and that even a simple
      list-based associative list (`Prelude.lookup`) may suffice. However, in
      order to avoid any regressions, this commit takes the safe route and just
      clones `Data.Map` for now.
      Signed-off-by: Herbert Valerio Riedel's avatarHerbert Valerio Riedel <hvr@gnu.org>
      07388af8
  7. 19 Apr, 2014 1 commit
  8. 23 Mar, 2014 1 commit
  9. 24 Oct, 2013 1 commit
  10. 11 Sep, 2013 1 commit
  11. 30 Nov, 2012 3 commits
  12. 19 Jul, 2012 1 commit
  13. 16 Jul, 2012 1 commit
  14. 06 Jul, 2011 1 commit
  15. 05 Apr, 2011 1 commit
  16. 14 Dec, 2010 1 commit
  17. 17 Sep, 2010 1 commit
  18. 16 Jan, 2010 1 commit
  19. 15 Dec, 2009 1 commit
  20. 11 Aug, 2009 1 commit
  21. 12 Jun, 2009 1 commit
  22. 22 Jan, 2009 1 commit
  23. 21 Jan, 2009 1 commit
  24. 05 Oct, 2008 1 commit
  25. 20 Sep, 2008 1 commit
  26. 25 Aug, 2008 1 commit
  27. 16 Jun, 2008 1 commit
  28. 18 Jan, 2008 1 commit
    • simonpj@microsoft.com's avatar
      Support code for quasi-quotation feature · 164d14e1
      simonpj@microsoft.com authored
      This patch supports the quasi-quotation feature.  Here's the relevant
      parts from the message in the big compiler patch:
      
        Fri Jan 18 14:55:03 GMT 2008  simonpj@microsoft.com
          * Add quasi-quotation, courtesy of Geoffrey Mainland
        
        This patch adds quasi-quotation, as described in
          "Nice to be Quoted: Quasiquoting for Haskell"
        	(Geoffrey Mainland, Haskell Workshop 2007)
        Implemented by Geoffrey and polished by Simon.
      
      ...snip...
        
        * There is an accompanying patch to the template-haskell library. This
          involves one interface change:
        	currentModule :: Q String
          is replaced by
        	location :: Q Loc
          where Loc is a data type defined in TH.Syntax thus:
              data Loc
                = Loc { loc_filename :: String
        	      , loc_package  :: String
        	      , loc_module   :: String
        	      , loc_start    :: CharPos
        	      , loc_end      :: CharPos }
        
              type CharPos = (Int, Int)	-- Line and character position
         
          So you get a lot more info from 'location' than from 'currentModule'.
          The location you get is the location of the splice.
          
          This works in Template Haskell too of course, and lets a TH program
          generate much better error messages.
        
        * There's also a new module in the template-haskell package called 
          Language.Haskell.TH.Quote, which contains support code for the
          quasi-quoting feature.
      
      164d14e1
  29. 18 Oct, 2007 1 commit
  30. 14 Oct, 2007 2 commits
  31. 01 Aug, 2007 1 commit
  32. 18 May, 2007 1 commit
  33. 12 Nov, 2006 1 commit