- 23 Sep, 2015 2 commits
-
-
Austin Seipp authored
This caused the build to fail, due to some type checking errors. Whoops. This reverts commit 5c115236.
-
Ömer Sinan Ağacan authored
As reported in Trac #10891, Template Haskell's `reify` was not generating Decls for associated types. This patch fixes that. Note that even though `reifyTyCon` function used in this patch returns some type instances, I'm ignoring that. Here's an example of how associated types are encoded with this patch: (Simplified representation) class C a where type F a :: * --> OpenTypeFamilyD "F" ["a"] With default type instances: class C a where type F a :: * type F a = a --> OpenTypeFamilyD "F" ["a"] TySynInstD "F" (TySynEqn [VarT "a"] "a") Reviewed By: goldfire Differential Revision: https://phabricator.haskell.org/D1254 GHC Trac Issues: #10891
-
- 05 Aug, 2015 1 commit
-
-
Ryan Scott authored
Template Haskell allows reification of fixity for infix functions and data constructors, and not for infix types. This adds a `Fixity` field to the relevant `Info` constructors that can have infix types (`ClassI`, `TyConI`, and `FamilyI`). I don't think that `VarI` or `PrimTyConI` can be infix, but I could be wrong. Test Plan: ./validate Reviewers: austin, goldfire, bgamari Reviewed By: goldfire, bgamari Subscribers: thomie Differential Revision: https://phabricator.haskell.org/D1109 GHC Trac Issues: #10704
-
- 02 Nov, 2014 1 commit
-
-
eir@cis.upenn.edu authored
-
- 14 Mar, 2014 1 commit
-
-
eir@cis.upenn.edu authored
There were two unrelated errors fixed here: 1) Make sure that only the *result kind* is reified when reifying a type family. Previously, the whole kind was reified, which defies the TH spec. 2) Omit kind patterns in equations.
-
- 18 Sep, 2013 1 commit
-
-
Richard Eisenberg authored
-
- 02 Aug, 2013 1 commit
-
-
eir@cis.upenn.edu authored
Many of the files modified are just wibbles to output, because now tycons have roles attached to them, which are produced in the debugging dumps.
-
- 12 Jan, 2012 1 commit
-
-
Simon Peyton Jones authored
major TcErrors refactoring
-
- 01 Sep, 2011 1 commit
-
-
reinerp authored
-
- 20 Jul, 2011 1 commit
-
-
dterei authored
-
- 21 Jul, 2010 1 commit
-
-
Simon Peyton Jones authored
-
- 28 Nov, 2009 1 commit
-
-
Ian Lynagh authored
-
- 07 Aug, 2008 1 commit
-
-
Ian Lynagh authored
-
- 06 Aug, 2008 1 commit
-
-
Ian Lynagh authored
-
- 27 May, 2007 1 commit
-
-
Ian Lynagh authored
-
- 05 Sep, 2006 1 commit
-
-
Simon Marlow authored
-
- 27 Jul, 2006 1 commit
-
-
Simon Marlow authored
-
- 23 Feb, 2006 1 commit
-
-
Simon Peyton Jones authored
-
- 23 Dec, 2004 1 commit
-
-
simonpj authored
--------------------------------- Template Haskell: names again --------------------------------- On 2 Dec 04 I made this commit (1.58 in Convert.lhs) Fix a Template Haskell bug that meant that top-level names created with newName were not made properly unique. But that just introduced a new bug! THe trouble is that names created by newName are NameUs; but I was *also* using NameU for names of free varaibles, such as the 'x' in the quoted code here f x = $( g [| \y -> (x,y) |]) But when converting to HsSyn, the x and y must be treated diffferently. The 'x' must convert to an Exact RdrName, so that it binds to the 'x' that's in the type environment; but the 'y' must generate a nice unique RdrName. So this commit adds NameL for the lexically-scoped bindings like 'x'.
-
- 21 Jun, 2004 1 commit
-
-
simonpj authored
Infix constructors work now
-
- 01 Jun, 2004 1 commit
-
-
igloo authored
Add missing functions to TH export list (mostly spotted by Duncan Coutts). Update TH test output. Add TH support for patterns with type signatures, and test for same (requested by Isaac Jones). Add TH support for pattern guards, and tests for same (requested by Isaac Jones). Add infix patterns to TH datatypes. Added Lift instances for 2- to 7-tuples (requested by Duncan Coutts).
-
- 15 Jan, 2004 1 commit
-
-
igloo authored
Split Template Haskell out to its own package and update docs and tests.
-
- 06 Nov, 2003 1 commit
-
-
simonpj authored
------------------------------------ Major increment for Template Haskell ------------------------------------ 1. New abstract data type "Name" which appears where String used to be. E.g. data Exp = VarE Name | ... 2. New syntax 'x and ''T, for quoting Names. It's rather like [| x |] and [t| T |] respectively, except that a) it's non-monadic: 'x :: Name b) you get a Name not an Exp or Type 3. reify is an ordinary function reify :: Name -> Q Info New data type Info which tells what TH knows about Name 4. Local variables work properly. So this works now (crashed before): f x = $( [| x |] ) 5. THSyntax is split up into three modules: Language.Haskell.TH TH "clients" import this Language.Haskell.TH.THSyntax data type declarations and internal stuff Language.Haskell.TH.THLib Support library code (all re-exported by TH), including smart constructors and pretty printer 6. Error reporting and recovery are in (not yet well tested) report :: Bool {- True <=> fatal -} -> String -> Q () recover :: Q a -> Q a -> Q a 7. Can find current module currentModule :: Q String Much other cleaning up, needless to say.
-