- 06 Nov, 2003 2 commits
-
-
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.
-
simonmar authored
wibble
-
- 05 Nov, 2003 1 commit
-
-
simonmar authored
Hopefully make these tests produce deterministic output.
-
- 30 Oct, 2003 1 commit
-
-
simonpj authored
Two more TH tests, thanks to Sean
-
- 29 Oct, 2003 1 commit
-
-
simonpj authored
Add a TH test
-
- 10 Sep, 2003 1 commit
-
-
simonmar authored
These tests now only need -fth, apart from a couple which use unboxed literals.
-
- 18 Jun, 2003 1 commit
-
-
igloo authored
Ignore *.comp.stderr and *.run.stderr, not *.stderr. Add *.run.stdout to ignored files. Commit missing .stderr file.
-
- 08 Jun, 2003 1 commit
-
-
igloo authored
Introduce a ListP for consistency with ListE. Splicing in something with a list pattern now works too. Added various list tests.
-
- 06 Jun, 2003 1 commit
-
-
igloo authored
Update tests for renamings.
-
- 21 May, 2003 2 commits
-
-
igloo authored
The Great Renaming. I hope I've kept everything in sync - and all the tests pass. Now datatypes follow the data Foo = <a kind of Foo>Foo | <another kind of Foo>Foo convention and the smart constructors can be uniformly created by lowercasing the first letter of the constructor.
-
igloo authored
Added support for newtypes to TH and altered a test for them.
-
- 04 May, 2003 1 commit
-
-
igloo authored
Added tests for unboxed literals.
-
- 03 May, 2003 1 commit
-
-
igloo authored
Update testsuite in line with recent TH changes. Added a couple of cases to TH_repE1 and added a new TH_repE2 that also splices things back in and checks they can be printed correctly.
-
- 10 Dec, 2002 2 commits
- 28 Nov, 2002 1 commit
-
-
simonpj authored
Suppress linking messages in TH_spliceDecl1
-
- 22 Nov, 2002 1 commit
-
-
chak authored
wibble
-
- 21 Nov, 2002 1 commit
-
-
chak authored
Renaming function for the reify/splice test needs to be in a separate module
-
- 20 Nov, 2002 2 commits
-
-
chak authored
TH: - We are forcing importing THSyntax.Q at every top splice now; this suffices to get simple splices that do not involve reifyDecl or declaration quasi-quotes to work. NB: This worked already when the construction of the Dec term and the splice were in separated modules, but not when they are in the same (see the regression test "TH_spliceDecl1.hs"). - The tests "TH_spliceDecl2.hs" and "TH_spliceDecl3.hs" use toplevel splices together with quasi-quoted and reifyDecl. These currently still fail, as importing of some of the required type constructors from THSyntax isn't forced.
-
chak authored
TH: Revised type variable handling in toplevel decls (became necessary due to recent addition of foralls in type representations).
-
- 09 Nov, 2002 2 commits
- 07 Nov, 2002 1 commit
-
-
chak authored
Started on regression tests for Template Haskell
-