[Initial version, originally from binarydefer Neil Mitchell**20070127151653] [Add BinaryDefer deriving Neil Mitchell**20070127152603] [Add Binary deriving to the library Neil Mitchell**20070127154848] [Add derivable to the driver, so you can derive everything at once Neil Mitchell**20070127182713] [Add some examples Neil Mitchell**20070127182736] [Added deriving for Functor, see http://thread.gmane.org/gmane.comp.lang.haskell.prime/2135 Twan van Laarhoven **20070324175328] [Add some -fglasgow-exts flags Neil Mitchell**20070324184515] [Uncomment some examples, commented out by the Functor patch Neil Mitchell**20070324184530] [Haddockulate Data.Derive.Driver Stefan O'Rear **20070326052928] [haddocks for Data.Derive Stefan O'Rear **20070327002227] [trim trailing spaces Stefan O'Rear **20070327002302] [Factor the list of supported derivations out of the SYB driver Stefan O'Rear **20070327005944] [comment typo Stefan O'Rear **20070327050621] [Add Derivation type Stefan O'Rear **20070327051400] [Rejig exports of derivers to use Derivation type Stefan O'Rear **20070327051713] [Remove now-unused all derivations list Stefan O'Rear **20070327051801] [Update driver for non-string derivations Stefan O'Rear **20070327052129] [Fix - re-add derivable to driver Stefan O'Rear **20070327052332] [Separate standard derivations (again!) into StdDerivations module Stefan O'Rear **20070327230721] [Move SYB extractors to the SYB driver Stefan O'Rear **20070328005713] [Rename Driver to SYB, since it will be one of many Stefan O'Rear **20070328010232] [Change Derivation to include a name and use Dec Stefan O'Rear **20070328011601] [Fix missing comma. Bad Haskell! Stefan O'Rear **20070328011659] [Record (wontwork) TH Eq Stefan O'Rear **20070329030945] [Major Eq refactors, trying to make a lib Stefan O'Rear **20070330042517] [Semi-final Eq Stefan O'Rear **20070330044412] [Fixup imports Stefan O'Rear **20070330050138] [Move TH-ast helper into Data.Derive; rename Type to RType to avoid a name clash Stefan O'Rear **20070330051536] [Don't require derived classes to be in scope for the deriver Stefan O'Rear **20070330052220] [Factor ctv/ctp out of Eq Stefan O'Rear **20070330233221] [Move Binary to the AST system Stefan O'Rear **20070331044004] [Move BinaryDefer to ast's Stefan O'Rear **20070331050608] [Disable functor deriving for now Stefan O'Rear **20070331080148] [Change Data.Derive.SYB so it basically works (didn't compile before) Neil Mitchell**20070331153204] [Make the definitions more point free, prettier Neil Mitchell**20070331153337] [Change the Data.Derive.SYB to return a String, make Main fix that back up Neil Mitchell**20070331153605] [Add getDerivation method to Data.Derive.StdDerivations Neil Mitchell**20070331160311] [Add an initial version of the Derive binary Neil Mitchell**20070331171437] [fix comment typo Stefan O'Rear **20070331174506] [Import a copy of Language.Haskell.TH.Ppr, in preparation for fixing Stefan O'Rear **20070331162341] [add pprName' for pprinter Stefan O'Rear **20070331174833] [Initial round of ppr fixes (fixity fixing + tilde patterns) Stefan O'Rear **20070331181614] [Let SYB use our fixed prettyprinter Stefan O'Rear **20070331182110] [Use temporary files properly, exposes bugs in both Hugs and GHC, so not a whole lot better than it was before Neil Mitchell**20070331192315] [Add the necessary cabal machinery Neil Mitchell**20070331194236] [New, consistent naming convention. To derive FooBar, use makeFooBar from module Data.Derive.FooBar. (FIXME - what about name clashes?) Stefan O'Rear **20070331193502] [Add an intial version of the manual Neil Mitchell**20070331200317] [Various fixes, now able to run over the Yhc.Core.Type module Neil Mitchell**20070331203329] [Add Data.Derive.Play, part of getChildren is done, but none of replaceChildren Neil Mitchell**20070331235050] [First import of TH driver Stefan O'Rear **20070331222709] [Bugfix (was misprocessing && as consym) Stefan O'Rear **20070331222813] [kill StdDerivations Stefan O'Rear **20070401004735] [add TH hook for Derive-exe Stefan O'Rear **20070401004748] [Use naming conventions in Derive exec Stefan O'Rear **20070401012005] [Update cabal for having derivation modules public Stefan O'Rear **20070401015437] [Add a couple zillion type signatures to Data.Derive for the benefit of Haddock Stefan O'Rear **20070401021053] [Remove obsolete haddock-comment from TH driver Stefan O'Rear **20070401022129] [Import/extension police Stefan O'Rear **20070401022153] [Add TH section Stefan O'Rear **20070401041712] [No need for -fth in Eq Stefan O'Rear **20070401042925] [Add Ord deriving Stefan O'Rear **20070401051041] [Add comments about various Haskell bugs into Derive.hs Neil Mitchell**20070401115126] [Fix the pretty printer, was crashing on the "." operator Neil Mitchell**20070401140547] [Add some more lifted functions Neil Mitchell**20070401140623] [Rewrite a lot of the Play code, now getChildren mainly works Neil Mitchell**20070401140637] [Write a Peephole module for Template Haskell, now used by the Play derivation Neil Mitchell**20070401144447] [Make Binary use the peephole rules, add some more rules Neil Mitchell**20070401150013] [Initial version, adding support for deriving Data Neil Mitchell**20070401164724] [Changes to the Play instances, more logical and shorter Neil Mitchell**20070401165424] [Add Data.Derive.Typeable Neil Mitchell**20070401172822] [Write more of the peephole optimisations Neil Mitchell**20070401180530] [Add some more rules for Binary deriving peepholing Neil Mitchell**20070401181939] [Add showNameRaw to defeat fixes for Language.Haskell.TH.Ppr; so as to prevent double-fixing the text Stefan O'Rear **20070401190825] [Add sval, like sclause Neil Mitchell**20070401210934] [Add an extra instance for peephole Neil Mitchell**20070401210950] [Tweak Play some more, now has some of the code for replaceChildren Neil Mitchell**20070401211003] [Add a more generic type signature for cons Neil Mitchell**20070401233503] [More things for replaceChildren Neil Mitchell**20070401233518] [Fix precedence passing in lambda -> pattern Stefan O'Rear **20070401233912] [Fixed deriving for Functor after switch to TH output Twan van Laarhoven **20070402131623] [Uses infix application for operators Twan van Laarhoven **20070402131727] [More generic function for building instance declarations Twan van Laarhoven **20070402131753] [Fix the cabal file. Spencer Janssen **20070405190834] [Use liftM, because released versions of GHC are missing instance Functor Q Spencer Janssen **20070405190905] [Add Data.Derive.Example, and give two sample instances for Eq and Data (the idea is to auto-derive them from examples, but thats for later) Neil Mitchell**20070407101129] [Delete is, no longer required Neil Mitchell**20070407102643] [Add flag to stop the warnings for Data.Derive.Data, otherwise there are 3 screens of warning Neil Mitchell**20070407103343] [Implement the start of the example guessing, can guess the instance context Neil Mitchell**20070407110900] [Move the Data.Derive.FixedPpr and Peephole into Language.Haskell.TH.* Neil Mitchell**20070407185231] [adding fields names to CtorDef sanzhiyan@gmail.com**20070407190932] [Move the DeriveTH and DeriveSYB out of the Derive directory Neil Mitchell**20070408110918] [Move the Derive.Example to DeriveGuess Neil Mitchell**20070408111458] [Add Data.Derive.All, which imports all derivers Neil Mitchell**20070408112153] [Move Data.Derive to Language.Haskell.TH.Helper Neil Mitchell**20070408114552] [Fix up Data.DeriveTH Neil Mitchell**20070408120602] [Move Derivation into Language.Haskell.TH.All Neil Mitchell**20070408120628] [Create Language.Haskell.TH.Data, splitting up Helper Neil Mitchell**20070408120919] [Move the code around in Helper, to group the logical sections Neil Mitchell**20070408121638] [Tidy up a few of the names of the helper functions, more logical Neil Mitchell**20070408123038] [Move more stuff into helper functions Neil Mitchell**20070408123252] [Move to using the TH data type, rather than our one (which is increasingly becoming isomoprhic to the original one) Neil Mitchell**20070408125214] [Fix up Play to use the new data type, re-enable it Neil Mitchell**20070408131438] [Re-enable Functor, required cloning the RType interface (since was too hard to figure out otherwise) Neil Mitchell**20070408133347] [Change the derive.exe program to use the template haskell version Neil Mitchell**20070408144354] [Move the peephole code so its done on all operations Neil Mitchell**20070408145638] [Move the traceMode function to somewhere else, so can be toggled more easily Neil Mitchell**20070408145712] [Add another peepholer, for infix functions Neil Mitchell**20070408145728] [Shift some of the optimisations from Functor to Peephole Neil Mitchell**20070408151752] [Various simplifications, we no longer need to keep the arity and do reinsertion into the deriving clause (TH makes this much easier) Neil Mitchell**20070408190818] [Add x && True -> x Neil Mitchell**20070408193743] [Add --derive and --keep flags to derive.exe Neil Mitchell**20070408193811] [add typeNorm, so that GHC.Base.[] becomes ListT Neil Mitchell**20070408193834] [Fix the deriving Typeable thing, so it works properly Neil Mitchell**20070408202754] [Add basic normalisation for the data, remove module names Neil Mitchell**20070408202828] [Add SYB and Syntax tree for template haskell Neil Mitchell**20070408202927] [Rewrite the normalisation of Data values to use SYB Neil Mitchell**20070408203758] [Rewrite peephole in terms of SYb Neil Mitchell**20070408210339] [Remove the examples directory, now the example is in the root and Derive.hs can run it Neil Mitchell**20070408225344] [Remove the examples directory Neil Mitchell**20070408230009] [Add basic hypothesis guessing - still need to figure out the App rule (everything else is easy) Neil Mitchell**20070409000745] [More changes to the guesser, can now guess derivations for Data, and can render some bits of them Neil Mitchell**20070409120900] [More changes, can now output something - as yet untested Neil Mitchell**20070409125424] [Add some new instance_ helpers, more standard and neater Neil Mitchell**20070409125802] [Add NoOpts, to ignore OPTIONS_DERIVE commands Neil Mitchell**20070409132724] [Changes to DeriveGuess, now it basically works for some examples Neil Mitchell**20070409132747] [Move to using an automatically generated Data instance Neil Mitchell**20070409133012] [fix a bug in instance_*, it was using ConT (mkName "[]") instead of ListT in the header sanzhiyan@gmail.com**20070409235003] [Update the .cabal file, so we can now have haddock documentation Neil Mitchell**20070410132317] [Change the name of the guess data structure Neil Mitchell**20070412111310] [Use the new name for the guess data structure Neil Mitchell**20070412111335] [Export replaceVar and replaceVars Neil Mitchell**20070412111349] [Add lots of code, completely new and more generic guessing methods - still unfinished Neil Mitchell**20070412111433] [Changes to DeriveGuess, no longer compiles... Neil Mitchell**20070412233924] [Minor fixes to Derive so it compiles once more Neil Mitchell**20070412234031] [Add an instance Ppr for Body, required for prettier error messages with Guess - and was already implemented but not instanced Neil Mitchell**20070413145828] [Loads of changes to DeriveGuess, still doesn't guess things - but is getting closer Neil Mitchell**20070413145855] [Lots of changes to DeriveGuess, can now do basic guesswork deriving for SYB where all RHS's are undefined Neil Mitchell**20070413160730] [Delete dead code in the inductive list guessing section Neil Mitchell**20070413161018] [Loads of changes, some bug fixes, initial thoughts towards fold induction, now x1 MUST be an inductive field (reduces search space) Neil Mitchell**20070413171333] [More tweaks, extending the power of the list matching further - allow constructors and fields within one environment Neil Mitchell**20070413173041] [Fix the string instances, fix the domain when a constructor is used Neil Mitchell**20070413173414] [Fix a small bug in DeriveGuess Neil Mitchell**20070414013555] [Eq requires -cpp Neil Mitchell**20070414110925] [Add foldl1With and foldr1With, required for the guess deriving Neil Mitchell**20070414112716] [Update to use the new deriving based on new concepts Neil Mitchell**20070414112753] [Fix up fold guessing so it matches correctly, now can derive Data Neil Mitchell**20070414112824] [Delete dead code from derive guess Neil Mitchell**20070414112908] [Add checkGuess, to check a guess instance (for debugging mainly) Neil Mitchell**20070414131236] [Add an instance for guessing WildP Neil Mitchell**20070414131257] [Use the foldl1With and foldr1With from the library, to gurantee better matching of str and gen Neil Mitchell**20070414131317] [foldl1With should be a foldr1, who knew... Neil Mitchell**20070414131351] [Refactor the peephole so InfixE and AppE AppE get treated the same way Neil Mitchell**20070414131407] [Move to using derivation by guess for Eq Neil Mitchell**20070414131435] [Add an instance Ppr for Lit Neil Mitchell**20070414134042] [Add an ability to derive a Env from a Str, for Dec Neil Mitchell**20070414134059] [Fix a bug with ctorTags, should be ctorInd Neil Mitchell**20070414134141] [Add a guess instance for RecP with no record elements Neil Mitchell**20070414134204] [Add guessing for literals Neil Mitchell**20070414134217] [Move to using an auto-generated version of Ord Neil Mitchell**20070414134236] [Add derivations for ValD, TildeP, ListE and LamE - all required by BinaryDefer Neil Mitchell**20070414140222] [Make BinaryDefer use automatic derivations Neil Mitchell**20070414140248] [Add comments to the 4 derivations that cannot be automatically guessed Neil Mitchell**20070414140828] [Add applyWith, useful for guess derivations Neil Mitchell**20070414150040] [Fix, \\ at the end of a line with cpp goes wrong Neil Mitchell**20070414150059] [Add guessing for more types of expression, including list comprehensions Neil Mitchell**20070414150110] [Add guessApply Neil Mitchell**20070414150145] [Add Serial instance for smallcheck Neil Mitchell**20070414150249] [Add a case for RecConE Neil Mitchell**20070414152144] [Add a few more optimisations, targeted at Bounded Neil Mitchell**20070414152158] [Add a Bounded instance Neil Mitchell**20070414152227] [Add StringL collapsing when ++ is used Neil Mitchell**20070414153630] [Guess Strings Neil Mitchell**20070414153719] [Add Enum Neil Mitchell**20070414153731] [Add support for induction over tuples, and a fake tup1, to be the one tuple constructor Neil Mitchell**20070414175548] [Add a peephole for the 1 tuple Neil Mitchell**20070414175616] [Change the example instance for Ord, make it use tuples rather than thenCmp (neater code) Neil Mitchell**20070414175629] [Promote unQ so it operates on [Dec] Neil Mitchell**20070414175916] [Change all the instance_ helpers to generate only a single declaration, preparation for moving to having multiple dec's in one derivation Neil Mitchell**20070414180257] [Guess the whole thing in one go, allows for guessing functions as well Neil Mitchell**20070414181152] [Change the interface to Guess, so it does everything Neil Mitchell**20070414181817] [Change all the instances so they can be guessed including the Derivation bit Neil Mitchell**20070414181833] [Move to allowing the constructor name to be any suffix of a name, allowing for isCtorName as well etc Neil Mitchell**20070414182843] [Add deriving for Is Neil Mitchell**20070414182911] [Add From deriving, more general than the DrIFT one Neil Mitchell**20070414183833] [Update the manual, now mainly complete Neil Mitchell**20070414192245] [Add deriving based on the arity of all types, and add support for if expressions Neil Mitchell**20070414194327] [Add EnumCyclic Neil Mitchell**20070414194354] [Add a comment on EnumCyclic to the manual Neil Mitchell**20070414194456] [Make repVars bail out if the name is definately not beneath, allows the missing cases to remain missing a bit longer Neil Mitchell**20070414223309] [Add some more peephole rules, for Arbitrary Neil Mitchell**20070414223337] [Fix the derivation of the length, should have been -1 all along Neil Mitchell**20070414223359] [Add Arbitrary instance Neil Mitchell**20070414223441] [Refactor the manual slightly, add Arbitrary Neil Mitchell**20070414223939] [Add another peephole optimisation for NFData Neil Mitchell**20070414225316] [Add NFData to Derive Neil Mitchell**20070414225330] [Add something about NFData to the manual Neil Mitchell**20070414230718] [Add a few more peephole rules, in particular move [] and : to ListE Neil Mitchell**20070414233729] [Simplify the Play getChildren instance, following the paper Neil Mitchell**20070414233753] [A little bit more of the Play implementation Neil Mitchell**20070414235543] [Add app as a helper to Helper Neil Mitchell**20070415135149] [Make the peephole replace free variables inside a lambda, including a few pattern match enhancements Neil Mitchell**20070415135203] [Fix up isTupleT so even if a constructor was created with a ConT (,) it matches Neil Mitchell**20070415160247] [Completely change Play, use the new more sound theory for the derivations Neil Mitchell**20070415160329] [Add a few more peephole rules Neil Mitchell**20070415172116] [More changes to Play, now works for the Yhc.Core data type (finally!) Neil Mitchell**20070415172128] [Record the changes to Play in the manual Neil Mitchell**20070415172335] [Sync all the new modules, and flip to requiring filepath Neil Mitchell**20070415203451] [Add Import for things other than the standard module Neil Mitchell**20070415203510] [Allow multiple OPTIONS_DERIVE lines Neil Mitchell**20070415203848] [a few first impl comments for Guess Stefan O'Rear **20070416234414] [Rename pprName' to pprName_, fixes HEAD build Stefan O'Rear **20070416235122] [Change isOperator to work on GHC 6.4.2 as well as GHC 6.6 Neil Mitchell**20070417105338] [Add ctorFields to TH.Data Neil Mitchell**20070417182911] [Add deriving Has Neil Mitchell**20070417182922] [Change peepholeDecs to peephole (thanks to Heffalump for pointing this out) Neil Mitchell**20070417183048] [Change the number of blank lines generated, and give messages when a derivation does not produce any results Neil Mitchell**20070417183453] [Rename ctorField and fieldCtors to something that doesn't clash as much with the stuff in Helper Neil Mitchell**20070417184009] [Lift guessStr out of Guess class, was never used apart from with the default Neil Mitchell**20070417184049] [Add Monoid derivation, as per DrIFT Neil Mitchell**20070417210116] [Remove isPunctuation and isSymbol - GHC doesn't export the required bits in GHC 6.4 Neil Mitchell**20070417225554] [Remove isOperator entirely, use the same solution is the pretty printer - isAlpha x || x == '_' is a non-operator Neil Mitchell**20070417225941] [Add a section on which classes are missing from Derive relative to DrIFT Neil Mitchell**20070417235954] [Fix up a regular-expression gone bad - some ctorToArity should have been ctorArity - add ctorArityEnv - definately need a more consistent name/typing strategry for constructors, arities and environments Neil Mitchell**20070418000033] [Add facility to guess at a lists length in certain cases, required for the new Bounded definition Neil Mitchell**20070418000140] [Change the Bounded definition, so we are closer to the Haskell report - the original one was a bit crap in comparison Neil Mitchell**20070418000209] [Change the manual to remove the bad bits from Bounded, now they are fixed according to the standard Neil Mitchell**20070418000438] [Add TTypeable support Stefan O'Rear **20070418012350] [Add an instance Valcon Type Stefan O'Rear **20070418014110] [eliminate mkType in favor of fixed l0 Stefan O'Rear **20070418015435] [add 'vars' helper Stefan O'Rear **20070418015502] [use type helpers in instance helpers Stefan O'Rear **20070418015754] [add hlist helpers Stefan O'Rear **20070418015940] [fix a couple typos in Helper Stefan O'Rear **20070418020112] [Use new helpers in TTypeable Stefan O'Rear **20070418020529] [Use new helpers in Typeable Stefan O'Rear **20070418021010] [Add Set derivation, which slightly matches the DrIFT update one Neil Mitchell**20070417185614] [Add LazySet derivation Stefan O'Rear **20070419003233] [tweak All to take advantage of a haskell-report corner case to cut LoC in half Stefan O'Rear **20070419003414] [add LazySet, TTypeable to All Stefan O'Rear **20070419003453] [Thank joelr1 (hopefully ndm shares the sentiment) Stefan O'Rear **20070419004637] [Mention LazySet + TTypeable in derive.htm Stefan O'Rear **20070419010121] [Add LazySet and TTypeable into the cabal file Neil Mitchell**20070419012907] [Add Show deriving Stefan O'Rear **20070419025325] [use ndm's new more regular naming convention for self folding lifted operators Stefan O'Rear **20070419031531] [add 'vrn' helper Stefan O'Rear **20070419042348] [add Read deriving Stefan O'Rear **20070419043239] [add Read + Show to the appropriate lists Stefan O'Rear **20070419043408] [move Monoid to the base section - it isn't actually h98 Stefan O'Rear **20070419043428] [add peephole rule for ['a','b','c'] Stefan O'Rear **20070419044453] [fix a rather embarrassing little bug in Show Stefan O'Rear **20070419044728] [add support for string peepholing in patterns Stefan O'Rear **20070419045145] [Tidy up the character list peepholer with an explicit fromLitChar Neil Mitchell**20070420132247] [Do not change [] to "", since changes the type Neil Mitchell**20070420132319] [Change the Typeable derivation so it works on Hugs properly Neil Mitchell**20070420132432] [Update the documentation for Typeable, to say it works everywhere Neil Mitchell**20070420132535] [Large documentation refactor; only list derivations in derive.htm, giving full docs in haddock Stefan O'Rear **20070420134915] [fix Typeable, was using _ in the wrong places Stefan O'Rear **20070420135333] [update Typeable haddock Stefan O'Rear **20070420140406] [One letter typo, missing a 'c' Neil Mitchell**20070420140702] [Add dataVars to Language.Helper Neil Mitchell**20070420145757] [Fix a bug introduced by a global replace Neil Mitchell**20070420145823] [Add a method to guess the types in contexts, required for PlayAll - which has a much more complex context than any of the others. Not based on environments, but based on a principle type that has been witnessed Neil Mitchell**20070420145838] [Add PlayAll, by guess Neil Mitchell**20070420145918] [Close a dangling tag Neil Mitchell**20070423153816] [Add Data.Derive.Show and Data.Derive.Read to the cabal file David Waern **20070423231627] [Add initial version of yds2007 paper Neil Mitchell**20070509021213] [Lots more of the YDS paper Neil Mitchell**20070509103915] [Move to using the lhs2tex preprocessor, fixing up the code to look very pretty Neil Mitchell**20070509132731] [Lots more content, now at 7 pages Neil Mitchell**20070509144858] [Change to the abstract, a bit more related work Neil Mitchell**20070509163746] [Lots of redrafting of the paper Neil Mitchell**20070510015440] [Add a dropModule function to TH.Data, and make it work properly on the (.) operator Neil Mitchell**20070510134238] [Remove the dropModule function from DeriveGuess - was wrong on (.) Neil Mitchell**20070510134305] [Add a Coarbitrary definition, thanks to Malcolm for the instance Neil Mitchell**20070510134339] [Add an Arbitrary instance for QuickCheck 2 David Waern**20070524165109] [Fix up the indentation in the cabal file Neil Mitchell**20070527185310] [Add a note that Derive requires GHC but supports all compilers at output time Neil Mitchell**20070527185332] [Add better indentation in the .cabal file Neil Mitchell**20070527192159] [Add a (pointless) License file, to keep Ian happy :) Neil Mitchell**20070527192243] [Add a description field Neil Mitchell**20070527193514] [Add Maintainer and Homepage fields Neil Mitchell**20070527205830] [Change Data-Files to Extra-Source-Files Neil Mitchell**20070527210125] [Refer to Data.DeriveTH, instead of Data.Derive.TH Neil Mitchell**20070529003157] [Add Ref deriving Stefan O'Rear **20070603173818] [Move to PlateTypeable, instead of PlayAll Neil Mitchell**20070603183825] [Fix up PlayAll -> PlateTypeable in All.hs Neil Mitchell**20070603184004] [Play -> Uniplate Neil Mitchell**20070603184446] [Change the names as required to be Uniplate rather than Play Neil Mitchell**20070603200629] [Add an initial attempt based on the Uniplate paper derivation rules Neil Mitchell**20070603201137] [Move to calling derivation, and add so that derivation can be in the Q Monad Neil Mitchell**20070603204520] [Add Data.Derive.PlateDirect Neil Mitchell**20070603223725] [A few tidyups in the paper Neil Mitchell**20070605003127] [Rename the uniplate class member to uniplate, not replaceChildren Neil Mitchell**20070615120434] [Change the replaceChildren/uniplate change in PlateTypeable Neil Mitchell**20070615120539] [fix Exp lK to treat [] as a constructor sanzhiyan@gmail.com**20070620135255] [Lots of changes to the YDS paper Neil Mitchell**20070630160101] [Add a comment to the top of the Functor.hs that Twan is the maintainer of this module Neil Mitchell**20070710122632] [Tweaks to the paper, and some more citations Neil Mitchell**20070712214237] [More changes to the Yds paper, now given to Matt and Mike for comments Neil Mitchell**20070713151702] [Changes to the Derive paper text, from feedback from Matt Neil Mitchell**20070728165251] [Various changes to the text Neil Mitchell**20070729131335] [Various changes to the Derive paper Neil Mitchell**20070729211406] [Minor changes to the paper Neil Mitchell**20070729214757] [Changes to the derive paper Neil Mitchell**20070730002528] [Various changes to the paper Neil Mitchell**20070730130521] [Changes to the abstract, which has now been submitted Neil Mitchell**20070730180340] [Rerun the deriving on PlateTypeable Neil Mitchell**20070731142101] [Fixed Functor deriving; also added explicit support for tuples; no longer uses old RType interface. Twan van Laarhoven **20070803211838] [Some more cleanup of Functor deriving Twan van Laarhoven **20070803212844] [Delete old RType stuff, since its no longer used Neil Mitchell**20070803213555] [Start on some tests (Read fails!) Samuel Bronson **20070803174647] [Read seems to work right now Samuel Bronson **20070803184639] [Fix Show for records Samuel Bronson **20070803185840] [More tests. (Functor fails now.) Samuel Bronson **20070803185923] [If KeepTemp then put temporary files in the current directory Neil Mitchell**20070804140024] [Track the pragma's that are in the source file and copy them, some may be needed (such as -fcontext-stack) depending on the file Neil Mitchell**20070804140909] [Add Samuel Bronson to the list of acknowledgements Neil Mitchell**20070804141848] [Functor deriving: correct arity in instance head Twan van Laarhoven **20070803223229] [Test a couple more derivings. Updated with working Functor output. Samuel Bronson **20070803223623] [Just import Data.Derive.All, not each module separately Neil Mitchell**20070804145115] [Added deriving for Foldable and Traversable classes (similair to Functor deriving) Twan van Laarhoven **20070804150556] [Added peephole optimization of 'flip', '.' and Applicative functions. Twan van Laarhoven **20070804150737] [Added Foldable and Traversable to Data.Derive.All and to cabal file Twan van Laarhoven **20070804151810] [Add Data.DeriveTraversal to the .cabal file Neil Mitchell**20070804175400] [Add a basic test script to the Setup.hs file Neil Mitchell**20070804175421] [Fix up testing for Small.out, its named Small.out.hs Neil Mitchell**20070804193727] [Fix for Cabal changing the interface Neil Mitchell**20070804193746] [Add peephole so length [a,b,c] => 3 Neil Mitchell**20070806131955] [Add a one line fix to remove a pattern match error, not quite sure how this gets invoked, but BinaryOld manages it Neil Mitchell**20070806132014] [Add BinaryOld, which is compatible with GhcBinary from DrIFT Neil Mitchell**20070806133020] [Add BinaryOld to the Cabal file Neil Mitchell**20070806141304] [Do not remove the trailing underscore off a name Neil Mitchell**20070806141323] [Fix BinaryOld, make put_ keep its trailing underscore Neil Mitchell**20070806141343] [Fix a type error in BinaryOld Neil Mitchell**20070806142355] [Update expected output to match actual output (fun changed to f in the Functor output) Samuel Bronson **20070807001818] [Add QuickCheck tests (test Arbitrary class) Samuel Bronson **20070807030523] [Fix typo in module name for Small test output Samuel Bronson **20070807030537] [A couple of text cleanups, suggested by Matt Neil Mitchell**20070808180718] [Further changes, from Matt and Chris's feedback Neil Mitchell**20070813181532] [Change from CtorZero -> First, following Chris's suggestion Neil Mitchell**20070813182357] [Various fixes to the paper Neil Mitchell**20070925001450] [Various tweaks to the paper Neil Mitchell**20071007175725] [Changes to the YDS paper, final version now submitted Neil Mitchell**20071008103214] [ghc-6.8 compatiblity: another cabal file and ifdefs for Language.Haskell.TH.SYB benjovi@gmx.net**20071125134224 In order to make Data.Derive work with ghc-6.8.1 two changes are neccessary: 1) As the base library has been split into seperate packages, the splitBase workaround as described in http://www.haskell.org/pipermail/haskell-cafe/2007-November/034046.html is needed in order to build Data.Derive both on 6.6 and 6.8. Unfortunately, this requires cabal-1.2; therefore, I created another cabal file (derive.cabal.ghc-6_8) instead of overwriting the old one... 2) The Data and Typeable derivations in Language.Haskell.TH.SYB will overlap with imported instance declarations; I solved this using a #ifdef (conditionally defined in the new cabal file), adding -cpp options to Language.Haskell.TH.All and Language.Haskell.TH.SYB. Maybe there is a better solution. ] [Delete the existing derive.cabal Neil Mitchell**20071125214858] [Move the derive.cabal file over Neil Mitchell**20071125215700] [Relayout the .cabal file, no changes Neil Mitchell**20071125221127] [Change the options so that Language.Haskell.TH.SYB is set by the base libraries, not the GHC implementation Neil Mitchell**20071125221321] [Change Language.Haskell.TH.SYB so its always including, just sometimes blank - still not sure how to remove the warnings Neil Mitchell**20071128163626] [-Wall Derive.hs gwern0@gmail.com**20080117205220 You know, the current Hackage (derive-0.1) package is broken for 6.8.x; maybe an upload of a fresh tarball is in order? ] [Bump the version number for new cabal release Neil Mitchell**20080125153712] [Fixed bug in Foldable derivation for fields not containing the argument type Twan van Laarhoven **20080425224806] [VarE |-> ConE for tuple data constructor Twan van Laarhoven **20080430155904] [Add a very basic test script (to be improved) Neil Mitchell**20080503181227] [Added expandData function that expands type synonyms in data declarations Twan van Laarhoven **20080503142059] [Type synonyms are expanded recursively; added L.H.TH.ExpandSynonym to cabal file. Twan van Laarhoven **20080503184637] [Fix the documentation to track how TH derivations are done Neil Mitchell**20080504083525] [Convenience re-export of Data.Derive.All from DeriveTH Neil Mitchell**20080504083539] [Revamp the test suite Neil Mitchell**20080504090258] [Make ExpandSynonym one of the TH.All modules Neil Mitchell**20080504090449] [Add a pile more definitions Neil Mitchell**20080504091446] [Add some more tests Neil Mitchell**20080504091458] [Flip the SYB CPP flag, so it works by default in GHC 6.8 and above Neil Mitchell**20080504091832] [Test a load more options Neil Mitchell**20080504093442] [Add in StandardAlt, to check alternative definitions Neil Mitchell**20080504093745] [Move the list of things to still be tested into Test.All Neil Mitchell**20080504093913] [Generalized Functor derivation to FunctorN Twan van Laarhoven **20080504000114] [Fixed Functor derivation for function types, (.) was applied with the arguments in the wrong order. Twan van Laarhoven **20080504185052] [Added tests for Functor, Traversable, Foldable. Also added some additional data types. Twan van Laarhoven **20080504185153] [Generalized traversals (Functor,Foldable,Traversable) to other type arguments (Functor2, etc.) Twan van Laarhoven **20080504190935] [If GHC gives an error, abort the writing of the file Neil Mitchell**20080606162818] [Add a -i to point at the existing code base for a file Neil Mitchell**20080606164342] [Add readFile', refactoring Neil Mitchell**20080606171523] [Change to deal with binary files and not change the EOL convention on Windows Neil Mitchell**20080606175145] [Add a todo file to derive Neil Mitchell**20080701211315] [; is an invalid seperator on some systems benjovi@gmx.net**20080701072850] [Support for fully qualified names benjovi@gmx.net**20080703074453] [Typeable should use qualified type name benjovi@gmx.net**20080703074609] [Extend Data to derive gunfold,toConstr,dataTypeOf benjovi@gmx.net**20080703133437] [Tests for deriving Data,Typeable benjovi@gmx.net**20080703133512] [Update Small.expceted.hs benjovi@gmx.net**20080703134637] [fixed derivation of QuickCheck 1 and 2's Arbitrary Class Austin Seipp **20080919063358 required annotating the *raw* output of the 'guess' function, because guess does not understand type annotations e.g. 'choose (0::Int,3)' in the examples that you can create the guesses from. this is necessary because otherwise the typechecker gets an ambiguous type variable when dealing with 'choose' and it's basically not possible to derive Arbitrary instances for your types. because of that this is sort of a hack; but it's a hack that makes automatic derivations for Arbitrary actually work and that's good. neil might want to look into this later. ] [fixed all naming conflicts between Arbitrary for QCv1 and Arbitrary2 for QCv2 Austin Seipp **20080919063813 this is also a necessary change because otherwise it is not possible to have a derive-annotation in a source file of the form {-! Arbitrary2 !-} since it apparently takes the name of the derivation and just sticks 'make' on the front, i.e. the above would turn into a call for 'makeArbitrary2' - Data.Derive.Arbitrary2 used to just define only 'makeArbitrary' which means this didn't work. ] [be more explicit about what functions to use in the generated code jeanphilippe.bernardy@gmail.com**20080913093638] [Update the copyright year in the derive program Neil Mitchell**20080710120852] [Add -w so GHC doesn't report warnings when running Derive Neil Mitchell**20080710120903] [Add credits to Benedikt Huber in the manual Neil Mitchell**20080711095749] [Add support for importing custom derivations when using the derive binary benjovi@gmx.net**20080711064136] [Change ImportDerive to Use, and give it the flags -u and --use Neil Mitchell**20080711105156] [Add a blank line at the end of Data.Derive.Data, fixes a GHC warning Neil Mitchell**20080711105437] [Put some errors on stderr, instead of stdout Neil Mitchell**20080711105456] [Change to use simpleUserHooks, defaultUserHooks got deprecated Neil Mitchell**20080711110357] [Fix a spelling mistake, too many sss Neil Mitchell**20080711110913] [Do diff ignoring white spaec, also ignores \r on windows Neil Mitchell**20080711110923] [Add a Build-Type to the cabal file Neil Mitchell**20080711111403] [Remove the todo file, all the items are moved into the bug tracker Neil Mitchell**20080711111927] [Avoid "unused binding" warnings by using "_" m_darcsderive@ryangunter.com**20080717211542] [Factor out deriveFromDec from derive m_darcsderive@ryangunter.com**20080717212010] [Avoid overlapping pattern warning for single-constructor data types m_darcsderive@ryangunter.com**20080717212322] [Prefix names which may be unused with \'_\' to avoid "unused" warnings from GHC m_darcsderive@ryangunter.com**20080717214620] [Use Data.Foldable.foldr instead of foldr to avoid conflict with Prelude foldr m_darcsderive@ryangunter.com**20080717221137] [Allow TH Name values (as well as Strings) for names of things m_darcsderive@ryangunter.com**20080717221311] [Avoid "unused" warnings; avoid using common names "a" and "b" m_darcsderive@ryangunter.com**20080717221802] [update .cabal to support building with ghc >= 6.9 Austin Seipp **20080928112604] [updated ghc-6.10 build, now if 6.10 is present we require base == 4.* and the syb lib; then things build fine Austin Seipp **20081009050049] [updated version number to 0.1.2 Austin Seipp **20081009050743] [TAG 0.1.2 Austin Seipp **20081009050806] [added 'build-type' field to .cabal file so we can use sdist Austin Seipp **20081009051106] [added an 'update' derivation Austin Seipp **20081124092233] [version bump Austin Seipp **20081124092248] [TAG 0.1.4 Austin Seipp **20081124092310] [Fix the text, thanks to wren Neil Mitchell**20090111124418] [Added Data.Derive.Fold newsham@lava.net**20090111215144] [Added Data.Derive.Fold to cabal manifest newsham@lava.net**20090111215506] [Add credits to Tim for the Fold derivation Neil Mitchell**20090112145630] [Add type signatures to output of Data.Derive.Is Samuel Bronson **20090204173709 I was going to do them for Data.Derive.Update as well, but that one actually needs to match up the arguments to the tycon with the variables in the field type and I was afraid I'd get it wrong. ] [Make those Is type sigs actually correct Samuel Bronson **20090204183234 I wonder why ex_args is deprecated -- I needed it for this. ] [Generate type signatures in Data.Derive.Update, too Samuel Bronson **20090204204132] [Test for Update and Is Samuel Bronson **20090204204419] [Tweak the tests to make sure they work Neil Mitchell**20090205144118] [Make unqualified name return a string, rather than a name Neil Mitchell**20090205145455] [Add dataArgs function Neil Mitchell**20090205145618] [Fix a bug, should not show an unqualified name Neil Mitchell**20090205150017] [Use the new dataArgs function Neil Mitchell**20090205150037] [Rename ex_args as dataArgs, since it is useful Neil Mitchell**20090205152815] [Add type signatures to output of From derivation Samuel Bronson **20090207201021] [Work around unary tuple bug in GHC <6.10 (ticket #2358) Samuel Bronson **20090207201120] [Make From derivation use dataArgs instead of ex_args Neil Mitchell**20090208093133] [updating Data.Derive.Serial for smallcheck >= 0.2 nicolas.frisby@gmail.com**20090227224213 Ignore-this: dd4d9e09c49fe0414309c2151b298a88 The coseries method now has a extra first argument, which must be threaded through the calls to "alts" ] [Update the guess example for smallcheck to track the change in the class definitions Neil Mitchell**20090309210620] [Add a new test that might become derive2 Neil Mitchell**20090321213921 Ignore-this: 486d0471f9f7a23c8e010f8a9898c18 ] [Change website over Neil Mitchell**20090322073232 Ignore-this: c8730bf011116ec1cd0cd5cc77d00b75 ] [Lots of tweaks to derive Neil Mitchell**20090322221741 Ignore-this: aecf7591e6fee078181b72d1110ac3b1 ] [Revise the implementation of derive2, new direction Neil Mitchell**20090429192417] [Add generation of constructor patterns for Eq Neil Mitchell**20090430094222] [Add support for the Fold bits Neil Mitchell**20090502080123] [PC -> Unix conversions Neil Mitchell**20090502080219] [Move the yds paper in to an academic folder Neil Mitchell**20090502203324] [Add draft of aaip paper Neil Mitchell**20090502204556] [Move some initial stuff over from the YDS paper Neil Mitchell**20090502214134] [A few more tweaks to the paper Neil Mitchell**20090502214222] [More experimentation with the derive2 stuff, start of guess Neil Mitchell**20090502214236] [Copy lots of stuff into the paper Neil Mitchell**20090504154230] [Loads more bits to the guess stuff Neil Mitchell**20090504154258] [Major revamp, totally new guess infrastructure Neil Mitchell**20090509121215] [Lots more tweaks, now supports Arity Neil Mitchell**20090509151129] [Enough bits to get Enum example working Neil Mitchell**20090509152439] [More examples, including Bounded and EnumCyclic Neil Mitchell**20090509155353] [Add lots of examples, and a simplifier Neil Mitchell**20090510082615] [Switch the data type name around Neil Mitchell**20090510083509] [Change Input to Sample Neil Mitchell**20090510095952] [Write lots of bits of the paper Neil Mitchell**20090510184700] [Eliminate UMaybe type, was never used Neil Mitchell**20090510204503] [Lots of improvements to the abstract, and to nearly get haskell2 coverage Neil Mitchell**20090511183903] [Changes to the paper, intro and scheme Neil Mitchell**20090516105236] [More on the paper, scheme and concrete Neil Mitchell**20090516121919] [Lots more changes to the paper, mainly concrete Neil Mitchell**20090516221252] [Lots of renaming, to match the paper closer Neil Mitchell**20090517192717] [Lots of updates to the paper Neil Mitchell**20090517192729] [More renamings Neil Mitchell**20090517193709] [Switch to using applyEnv, rather than apply2 Neil Mitchell**20090517194140] [Change CtorInd -> CtorIndex, FieldInd -> FieldIndex Neil Mitchell**20090519163308] [Lots of tweaks, now runs over haskell2, ref and bib Neil Mitchell**20090519163324] [Lots more tweaks to the paper Neil Mitchell**20090519171310] [Check the correctness property and error out if not Neil Mitchell**20090521182430] [Add an outEq function, to check for equality of out terms Neil Mitchell**20090521182451] [Use the Apply function as refactored for the paper Neil Mitchell**20090521182506] [Move the apply method in to the main body, and use folds for some bits Neil Mitchell**20090521182518] [More work on the paper Neil Mitchell**20090521191135] [Lots of changes to the paper Neil Mitchell**20090522073009] [Change GuessInt to GuessFld, much simpler Neil Mitchell**20090522170551] [Lots more on the paper Neil Mitchell**20090522173922] [More on the paper Neil Mitchell**20090523192554] [More changes to the paper Neil Mitchell**20090531082317] [Changes to the paper, implementation of derive section Neil Mitchell**20090601065621] [Code changes, add simplify and prettyTex to DSL Neil Mitchell**20090601205421] [More work on the paper Neil Mitchell**20090601205441] [Minor tweaks to the pretty printing Neil Mitchell**20090602064927] [Changes, mainly on the uses bit Neil Mitchell**20090602065935] [Add an SYB derivation Neil Mitchell**20090602144346] [Lots more work on the SYB derivation Neil Mitchell**20090602174317] [Refactoring, move all the SYB simple cases to the end Neil Mitchell**20090602183316] [Able to infer an instance for Arities via SYB Neil Mitchell**20090602190828] [More changes to the paper Neil Mitchell**20090603201551] [Add another example, from* Neil Mitchell**20090608060259] [More changes to the derive paper Neil Mitchell**20090609165812] [Fixes to get haskell2 passing Neil Mitchell**20090610174408] [Lots of changes to the paper Neil Mitchell**20090611145758] [Lots of revisions to the paper Neil Mitchell**20090614222346] [Rename bottom to bot, to follow my conventions Neil Mitchell**20090614222431] [Lots of changes to the paper Neil Mitchell**20090615190514] [Lots more changes to the paper Neil Mitchell**20090615225618] [Various little fixes, typo level and rewordings Neil Mitchell**20090618155350] [Big changes, moving towards Derive 2.0 but Derive 1 still works Neil Mitchell**20090619144814] [Lots more changes Neil Mitchell**20090620114557] [Final typo corrections to the end of the paper Neil Mitchell**20090620182710] [Little tweaks to the paper Neil Mitchell**20090621210144] [Lots of changes, now a number of derivations actually work Neil Mitchell**20090623175035] [Remove some unused flags Neil Mitchell**20090623175148] [Changes, start to rehabilitate the From declaration Neil Mitchell**20090623191142] [Rehabilitate From Neil Mitchell**20090624064439] [Rehabilitate Has Neil Mitchell**20090624071155] [Rehabilitate Ref Neil Mitchell**20090624072921] [Rehabilitate Set Neil Mitchell**20090624134314] [More changes, move towards getting the Template Haskell support working Neil Mitchell**20090626055638] [Make all files pass the parsing Neil Mitchell**20090626060614] [Rehabilitate Fold Neil Mitchell**20090626064020] [Rehabilitate Typeable Neil Mitchell**20090626102649] [Update to haskell-src-exts 1.0.0 Neil Mitchell**20090626122301] [Move to using PackageImports to say which package things come from Neil Mitchell**20090626122818] [Start to write the Template Haskell deriving code Neil Mitchell**20090626161251] [Rehabilitate LazySet Neil Mitchell**20090628065426] [Rehabilitate Show Neil Mitchell**20090628154137] [Start on Language.Haskell.Convert as the conversion strateggy Neil Mitchell**20090709162557] [Tweaks to the binary bits and a few others Neil Mitchell**20090712151807] [Improve the simplifications, now all tests pass Neil Mitchell**20090712162547] [Implement the tests Neil Mitchell**20090713175916] [Fix the generation of SYB instances to not include the arities information Neil Mitchell**20090713180351] [Lots of changes, change the basis for DSL, get Functor working, a few more fixes Neil Mitchell**20090721181927] [Rehabilitate Update Neil Mitchell**20090721183600] [Support Traversal not throwing an error on function types Neil Mitchell**20090723060424] [Rehabilitate Foldable Neil Mitchell**20090723065927] [Rehabilitate Traversable Neil Mitchell**20090724091555] [Add a :*: b type, and test for show Neil Mitchell**20090724164449] [Start to reinstate Read Neil Mitchell**20090725085317] [Add a workaround for bug #3395 to Convert Neil Mitchell**20090725173425] [Add support for Read Neil Mitchell**20090725173729] [Generate ListComp's again, apparently the order is back to front Neil Mitchell**20090726070921] [Fix up the {-! parsing !-} bit Neil Mitchell**20090726073516] [Simplify the example, now we have better tests Neil Mitchell**20090726073540] [Move the additional instances back in to TestInstances Neil Mitchell**20090726075300] [Add a PolyRecord test case Neil Mitchell**20090726075321] [Move the old tests out of the way Neil Mitchell**20090726080309] [Remove the traversal module, was now unused Neil Mitchell**20090726080407] [Remove Data.DeriveGuess, was no longer needed Neil Mitchell**20090726083158] [Update the derive manual Neil Mitchell**20090726083211] [Improve the documentation Neil Mitchell**20090726110007] [Remove some old files Neil Mitchell**20090726144148] [Revise the cabal file, now works Neil Mitchell**20090726144200] [Add a few missing files to the dist Neil Mitchell**20090802150404] [Require cabal 1.6 or above for the wildcard syntax Neil Mitchell**20090802151844] [Stop all derivations giving warnings Neil Mitchell**20090802172440] [Bump the version number Neil Mitchell**20090802200619] [Rewrite the README.txt Neil Mitchell**20090802200627] [Convert the README into Unix line endings Neil Mitchell**20090802200646] [Update the version of QuickCheck, 10.4 installs 1.2.0.0 Neil Mitchell**20090806104404] [Fix the definition of BinaryDefer, was wrong before Neil Mitchell**20090806104424] [Fix a bug in EnumCyclic, the example instance was type incorrect Neil Mitchell**20090806104440] [Change Zero to Zoro, to stop conflict with PlateData Neil Mitchell**20090806104507] [Add a necessary import for PlateTypeable Neil Mitchell**20090806104545] [Add an optimisation of null on literal lists Neil Mitchell**20090806104609] [Tweaks to the auto-generated module descriptions in the manual Neil Mitchell**20090806104624] [Split the tests in to two separate parts, gets more test coverage Neil Mitchell**20090806104641] [Remove some warnings with binarydefer Neil Mitchell**20090806154900] [Back to no warnings Neil Mitchell**20090806160239] [Add DataAbstract, fixes bug #209 Neil Mitchell**20090806162549] [Change the paper to match the required style Neil Mitchell**20090828105352] [Use LANGUAGE pragmas in the documentation Neil Mitchell**20091022064238] [Give better error messages for parse errors Neil Mitchell**20091022065426] [Pass the filename to HSE, to improve error messages Neil Mitchell**20091022065455] [Strip CPP directives, a quick fix Neil Mitchell**20091022065534] [Add a copy of the derive paper for the post proceedings Neil Mitchell**20091102073315] [Various tweaks to the formatting Neil Mitchell**20091105195932] [Add the llncs style sheet Neil Mitchell**20091108172712] [Revisions for the post proceedings Neil Mitchell**20091115173953] [Make the PrettyPrinter closer to printing valid Haskell Daniel Schüssler **20091012071115 Ignore-this: a13ba43577c15d9448c6d6e139dccca3 ] [Upgrade to HSE 1.3.2 Neil Mitchell**20091129130339] [Start to rehabilitate PlateDirect Neil Mitchell**20091214081304] [Rehabilitate the Template Haskell tests for PlateDirect Neil Mitchell**20091214164330] [More changes to PlateDirect, now actually passes the tests Neil Mitchell**20091215073841] [More tests and associated implementation for PlateDirect Neil Mitchell**20091215080828] [Add some more support for chasing definitions Neil Mitchell**20091215082213] [Add fromTyParens Neil Mitchell**20091216194145] [Delete the old version of the derivation script Neil Mitchell**20091216194159] [Change the assumption about TyParen, now always avoid them Neil Mitchell**20091216194222] [Rewrite the declaration finding code - now supports standalone deriving Neil Mitchell**20091216194300] [Fix up some paren bugs, add a monadic cache for hit testing Neil Mitchell**20091216200806] [Add an example of standalone deriving Neil Mitchell**20091216200826] [Enhance PlateDirect so it can derive from list of maybe as well Neil Mitchell**20091217080617] [Fix up aaip comments from the referees Neil Mitchell**20091223220051] [Change PlateTypeable to being custom, to get the contexts right Neil Mitchell**20091224114945] [Add knowledge of Either to PlateDirect Neil Mitchell**20091224165837] [Rework to use the revised PlateTypeable stuff Neil Mitchell**20091224165847] [Fix PlateDirect for Biplate on a self item Neil Mitchell**20091224173717] [Simplify by introducing explicit tuples for stuff Neil Mitchell**20091224213708] [Add a test for tuples, and fix stuff up Neil Mitchell**20091224213722] [Fix PlateDirect so recursive types definately get the right answer (find a fixed point) Neil Mitchell**20091227191607] [Add INLINE pragmas to the Uniplate stuff (helps quite a bit) Neil Mitchell**20091230122753] [Move the Uniplate tests around Neil Mitchell**20091230173631] [Make it so that PlateTypeable is now automatically tested Neil Mitchell**20091230174917] [Move to the new Uniplate instances Neil Mitchell**20091230175759] [Move to the new instance Neil Mitchell**20091230175838] [Make some of the modules internal Neil Mitchell**20091230175903] [Update the derive web page Neil Mitchell**20091230175910] [Force the use of Uniplate 1.3 or above Neil Mitchell**20091230180247] [Tweaks to the manual to bring it up to date Neil Mitchell**20091231102242] [Use DataOnly to avoid clashes when testing Neil Mitchell**20100103180831] [Move the ifdef for TH_SYB to avoid the #include's too Neil Mitchell**20100103180912] [Add TypeOperators to the test, required for GHC 6.12 Neil Mitchell**20100103180944] [Upgrade the TH bits to GHC 6.12 Neil Mitchell**20100103181014] [Add the new Compat file to the .cabal list Neil Mitchell**20100103181138] [Sort the directory contents, to ensure the order is stable Neil Mitchell**20100103181406] [Update the Cabal file to work with GHC 6.12 Neil Mitchell**20100103181738] [Update the version number Neil Mitchell**20100103182448] [Update the copyright Neil Mitchell**20100103182503] [Add thanks to Robin Green, who did the 6.12 upgrade Neil Mitchell**20100103192153] [Rewrite the test overlap mechanism to allow any number of overlap sets Neil Mitchell**20100104164901] [Add the Serialize derivation, from the Cereal package Neil Mitchell**20100104165021] [Always write out the module/import things requested, even in append/screen output mode Neil Mitchell**20100113184655] [If multiple module flags are given, use the last one Neil Mitchell**20100113184752] [Upgrade HSE and Uniplate Neil Mitchell**20100113185004] [Clean up the HSE dependency Neil Mitchell**20100114181716] [Make Data.Derive.Internal.Derivation public Neil Mitchell**20100114181752] [Version 2.2.0 Neil Mitchell**20100114181804] [Add a .ghci file Neil Mitchell**20100114191032] [Add dataDeclContext Neil Mitchell**20100114191041] [Make customContext like all the other custom* functions Neil Mitchell**20100114191048] [Add JSON derivation Neil Mitchell**20100114191629] [Add more acknowledgements Neil Mitchell**20100114191719] [Fix some GHC warnings Neil Mitchell**20100114193133] [Bump to 2.3.0 Neil Mitchell**20100114193236] [Add a section on adding new derivations to the readme Neil Mitchell**20100302190316] [Add more conversion instances, patch by Sebastian Fischer Neil Mitchell**20100324061412] [Add a command to try and recover if generated files go out of sync Neil Mitchell**20100407100650] [Upgrade to HSE 1.8 Neil Mitchell**20100407100721] [Eliminate warnings from GHC 6.12 Neil Mitchell**20100407101113] [Bump the version number Neil Mitchell**20100520183151] [Bump the package dependencies on uniplate and HSE Neil Mitchell**20100622045644] [mark 2.3.0.2 Neil Mitchell**20100622050721] [NFData has moved module/package Neil Mitchell**20101110121733] [Remove redundant pragma Neil Mitchell**20101110121815] [Fixes for GHC 7 Neil Mitchell**20101110121824] [Remove the SYB module from being distributed, only GHC 6.8 compat Neil Mitchell**20101110123427] [Require mtl 2, which has the Applicative instance for Writer already Neil Mitchell**20101110123528] [Eliminate unused module warnings Neil Mitchell**20101110123547] [Add a missing LANGUAGE pragma Neil Mitchell**20101110123602] [Version bump Neil Mitchell**20101110123925] [Loosen the uniplate dependency Neil Mitchell**20101110170420] [Switch to transformers from mtl Neil Mitchell**20101110171041] [Bump version to 2.4.1 Neil Mitchell**20101110171054] [Add a changelog Neil Mitchell**20110212091621] [Update the copyright year Neil Mitchell**20110212091759] [Relax the HSE dependency Neil Mitchell**20110212092443] [Version 2.4.2 Neil Mitchell**20110219101908] [Update the --version output Neil Mitchell**20110302072834] [Delete Data.Derive, it had not been in the .cabal file for a while Neil Mitchell**20110502083632] [Delete the Data.Derive file, was zeroed in the previous patch Neil Mitchell**20110502084730] [Rename Fail to Fial in the FailList example, so it doesn't clash with a new constructor in Cereal Neil Mitchell**20110502084745] [Parameterise the derivation code by a list of derivations Neil Mitchell**20110502085310] [Create deriveMain, to allow user defined derivations Neil Mitchell**20110502090223] [Delete and unused -fglasgow-exts flag Neil Mitchell**20110502095811] [Version 2.5 Neil Mitchell**20110502100506] [Improve the documentation for deriveMain, contributed by Benedikt Huber Neil Mitchell**20110503183527] [Improvements to the documentation for deriveMain Neil Mitchell**20110503184003] [Add a bug number to the addition of deriveMain Neil Mitchell**20110503184014] [Version 2.5.1 Neil Mitchell**20110503184050] [Relax the HSE dependency to allow 1.11.1 Neil Mitchell**20110526075026] [Version 2.5.2 Neil Mitchell**20110526075556] [GHC 7.2 compatibility Neil Mitchell**20110812092238] [Update the author/copyright/maintainer Neil Mitchell**20110812092550] [Use lowercase in the cabal file Neil Mitchell**20110812092710] [Add a source-repository section Neil Mitchell**20110812092756] [Version 2.5.3 Neil Mitchell**20110812093441] [Add a fix (and test) for an error when deriving Binary on data A = B Neil Mitchell**20110812143640] [Update changelog Neil Mitchell**20110812143704] [Eliminate a warning when deriving Ord on data A = B Neil Mitchell**20110812143710] [Allow tuple names in a more general way, fixing #394 Neil Mitchell**20110812145949] [Version 2.5.4 Neil Mitchell**20110812151044] [Improve the documentation for UniplateDirect Neil Mitchell**20111024071019] [Fix a typo in the revised documentation Neil Mitchell**20111024183110] [Update the installation instructions, tell people to use Cabal directly Neil Mitchell**20120101164457 Ignore-this: 61dff552dfdc119c705289680d88b0d5 ] [#513, allow derive to be used as a GHC preprocessor Neil Mitchell**20120101164600 Ignore-this: d17ecba3c8d9c2015e163bbb3ab04331 ] [Modify Example.hs so it works with the GHC preprocessor directly Neil Mitchell**20120101164634 Ignore-this: d40293c96ad8ac402009973ef1dcac98 ] [Version 2.5.5 Neil Mitchell**20120101165335 Ignore-this: cf475c1856759554360e3fab61833081 ] [Allow transformers 0.3.* Neil Mitchell**20120325180105 Ignore-this: 77cf57354ca8ee37f8406b434507fd1a ] [Update the copyright year Neil Mitchell**20120325180154 Ignore-this: 5b6fab60eda80c320be0ebd17bd36d2b ] [Version 2.5.6 Neil Mitchell**20120325180927 Ignore-this: fbd003eb1b487bb76d6ba45cea57242c ] [Allow HSE 1.12.* Neil Mitchell**20120328095524 Ignore-this: ee6460f766e42a2879c8815c11238318 ] [Version 2.5.7 Neil Mitchell**20120328095543 Ignore-this: 56c5ed3307431d278c70075e94838bbc ] [Version 2.5.8, which allows HSE 1.13 Neil Mitchell**20120401103536 Ignore-this: 6f5781cc743e1e7f82bec9ce94a702d ] [Add support for the Unpacked constructor, based on a patch from Tomohiro Matsuyama Neil Mitchell**20120627152651 Ignore-this: 7e17f405de335d9065c417992a9a49f2 ] [Version 2.5.9 Neil Mitchell**20120627153950 Ignore-this: 468448d5825e4f45da3dbeea9f116944 ] [Remove the NFData (->) instance, since it is now in the package by default Neil Mitchell**20120729110742 Ignore-this: b631d745f83783a42f90e636ee9dfabe ] [Modify the Serialise instance for -> to not fall back to GHC generic style instances Neil Mitchell**20120729110835 Ignore-this: 28bf9108e90a7e2140ba5a9c9cfb1d2c ] [Modify the Typeable derivation to use mkTyCon3 Neil Mitchell**20120729111121 Ignore-this: 52f048f30cbdf46e06f5b74b2077a11b ] [Add a derivation for Lens Neil Mitchell**20120729114703 Ignore-this: 592ec3d321baf8d21e4e7f6da72d1bdb ] [Change :r to :reload, to make it clear Neil Mitchell**20120729171726 Ignore-this: 1be61b57ab6dc70b4984eff9f7e598f3 ] [Version 2.5.10 Neil Mitchell**20120729171759 Ignore-this: 3c1dd99f0e78e1028d1ab15bc4b852a8 ] [Support GHC 7.6 Neil Mitchell**20120825230953 Ignore-this: 7effe93fc4a2a6a1c20aa9638873168d ]