├── .ghci ├── .gitignore ├── .hlint.yaml ├── .travis.yml ├── CHANGES.txt ├── Example.hs ├── LICENSE ├── Main.hs ├── README.md ├── Setup.hs ├── academic ├── aaip2009-post │ ├── derive.tex │ └── llncs.cls ├── aaip2009 │ ├── derive.tex │ └── sigplanconf.cls └── yds2007 │ ├── derive.bib │ ├── derive.fmt │ ├── derive.tex │ ├── llncs.cls │ └── make.bat ├── derive.cabal ├── old ├── Test │ ├── All.hs │ ├── Data.hs │ ├── Standard.hs │ ├── StandardAlt.hs │ └── UpdateIs.hs └── tests │ ├── M1.hs │ ├── M2.hs │ ├── MTest.hs │ ├── Makefile │ ├── QuickCheck.expected.hs │ ├── QuickCheck.hs │ ├── Small.expected.hs │ └── Small.hs ├── src ├── Data │ ├── Derive │ │ ├── All.hs │ │ ├── Arbitrary.hs │ │ ├── ArbitraryOld.hs │ │ ├── Arities.hs │ │ ├── Binary.hs │ │ ├── BinaryDefer.hs │ │ ├── Bounded.hs │ │ ├── Class │ │ │ ├── Arities.hs │ │ │ └── Default.hs │ │ ├── DSL │ │ │ ├── Apply.hs │ │ │ ├── DSL.hs │ │ │ ├── Derive.hs │ │ │ ├── HSE.hs │ │ │ └── SYB.hs │ │ ├── DataAbstract.hs │ │ ├── Default.hs │ │ ├── EnumCyclic.hs │ │ ├── Fold.hs │ │ ├── From.hs │ │ ├── Has.hs │ │ ├── Instance │ │ │ └── Arities.hs │ │ ├── Internal │ │ │ ├── Derivation.hs │ │ │ ├── Instance.hs │ │ │ ├── Test.hs │ │ │ └── Traversal.hs │ │ ├── Is.hs │ │ ├── JSON.hs │ │ ├── LazySet.hs │ │ ├── Lens.hs │ │ ├── Monoid.hs │ │ ├── NFData.hs │ │ ├── Ref.hs │ │ ├── Serial.hs │ │ ├── Serialize.hs │ │ ├── Set.hs │ │ ├── TTypeable.hs │ │ ├── Uniplate.hs │ │ ├── UniplateDirect.hs │ │ ├── UniplateTypeable.hs │ │ └── Update.hs │ ├── DeriveDSL.hs │ ├── DeriveMain.hs │ ├── DeriveSYB.hs │ └── DeriveTH.hs ├── Derive │ ├── Derivation.hs │ ├── Flags.hs │ ├── Generate.hs │ ├── Main.hs │ ├── Test.hs │ ├── TestInstances.hs │ └── Utils.hs └── Language │ ├── Haskell.hs │ └── Haskell │ ├── Convert.hs │ └── TH │ ├── All.hs │ ├── Compat.hs │ ├── Data.hs │ ├── ExpandSynonym.hs │ ├── Helper.hs │ ├── Peephole.hs │ ├── SYB.hs │ └── Semtex.hs └── travis.hs /.ghci: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/.ghci -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /dist/ 2 | *.o 3 | *.hi 4 | *~ 5 | -------------------------------------------------------------------------------- /.hlint.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/.hlint.yaml -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/.travis.yml -------------------------------------------------------------------------------- /CHANGES.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/CHANGES.txt -------------------------------------------------------------------------------- /Example.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/Example.hs -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/LICENSE -------------------------------------------------------------------------------- /Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/Main.hs -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/README.md -------------------------------------------------------------------------------- /Setup.hs: -------------------------------------------------------------------------------- 1 | import Distribution.Simple 2 | main = defaultMain 3 | -------------------------------------------------------------------------------- /academic/aaip2009-post/derive.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/academic/aaip2009-post/derive.tex -------------------------------------------------------------------------------- /academic/aaip2009-post/llncs.cls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/academic/aaip2009-post/llncs.cls -------------------------------------------------------------------------------- /academic/aaip2009/derive.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/academic/aaip2009/derive.tex -------------------------------------------------------------------------------- /academic/aaip2009/sigplanconf.cls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/academic/aaip2009/sigplanconf.cls -------------------------------------------------------------------------------- /academic/yds2007/derive.bib: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/academic/yds2007/derive.bib -------------------------------------------------------------------------------- /academic/yds2007/derive.fmt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/academic/yds2007/derive.fmt -------------------------------------------------------------------------------- /academic/yds2007/derive.tex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/academic/yds2007/derive.tex -------------------------------------------------------------------------------- /academic/yds2007/llncs.cls: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/academic/yds2007/llncs.cls -------------------------------------------------------------------------------- /academic/yds2007/make.bat: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/academic/yds2007/make.bat -------------------------------------------------------------------------------- /derive.cabal: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/derive.cabal -------------------------------------------------------------------------------- /old/Test/All.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/Test/All.hs -------------------------------------------------------------------------------- /old/Test/Data.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/Test/Data.hs -------------------------------------------------------------------------------- /old/Test/Standard.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/Test/Standard.hs -------------------------------------------------------------------------------- /old/Test/StandardAlt.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/Test/StandardAlt.hs -------------------------------------------------------------------------------- /old/Test/UpdateIs.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/Test/UpdateIs.hs -------------------------------------------------------------------------------- /old/tests/M1.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/tests/M1.hs -------------------------------------------------------------------------------- /old/tests/M2.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/tests/M2.hs -------------------------------------------------------------------------------- /old/tests/MTest.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/tests/MTest.hs -------------------------------------------------------------------------------- /old/tests/Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/tests/Makefile -------------------------------------------------------------------------------- /old/tests/QuickCheck.expected.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/tests/QuickCheck.expected.hs -------------------------------------------------------------------------------- /old/tests/QuickCheck.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/tests/QuickCheck.hs -------------------------------------------------------------------------------- /old/tests/Small.expected.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/tests/Small.expected.hs -------------------------------------------------------------------------------- /old/tests/Small.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/old/tests/Small.hs -------------------------------------------------------------------------------- /src/Data/Derive/All.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/All.hs -------------------------------------------------------------------------------- /src/Data/Derive/Arbitrary.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Arbitrary.hs -------------------------------------------------------------------------------- /src/Data/Derive/ArbitraryOld.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/ArbitraryOld.hs -------------------------------------------------------------------------------- /src/Data/Derive/Arities.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Arities.hs -------------------------------------------------------------------------------- /src/Data/Derive/Binary.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Binary.hs -------------------------------------------------------------------------------- /src/Data/Derive/BinaryDefer.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/BinaryDefer.hs -------------------------------------------------------------------------------- /src/Data/Derive/Bounded.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Bounded.hs -------------------------------------------------------------------------------- /src/Data/Derive/Class/Arities.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Class/Arities.hs -------------------------------------------------------------------------------- /src/Data/Derive/Class/Default.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Class/Default.hs -------------------------------------------------------------------------------- /src/Data/Derive/DSL/Apply.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/DSL/Apply.hs -------------------------------------------------------------------------------- /src/Data/Derive/DSL/DSL.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/DSL/DSL.hs -------------------------------------------------------------------------------- /src/Data/Derive/DSL/Derive.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/DSL/Derive.hs -------------------------------------------------------------------------------- /src/Data/Derive/DSL/HSE.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/DSL/HSE.hs -------------------------------------------------------------------------------- /src/Data/Derive/DSL/SYB.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/DSL/SYB.hs -------------------------------------------------------------------------------- /src/Data/Derive/DataAbstract.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/DataAbstract.hs -------------------------------------------------------------------------------- /src/Data/Derive/Default.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Default.hs -------------------------------------------------------------------------------- /src/Data/Derive/EnumCyclic.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/EnumCyclic.hs -------------------------------------------------------------------------------- /src/Data/Derive/Fold.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Fold.hs -------------------------------------------------------------------------------- /src/Data/Derive/From.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/From.hs -------------------------------------------------------------------------------- /src/Data/Derive/Has.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Has.hs -------------------------------------------------------------------------------- /src/Data/Derive/Instance/Arities.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Instance/Arities.hs -------------------------------------------------------------------------------- /src/Data/Derive/Internal/Derivation.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Internal/Derivation.hs -------------------------------------------------------------------------------- /src/Data/Derive/Internal/Instance.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Internal/Instance.hs -------------------------------------------------------------------------------- /src/Data/Derive/Internal/Test.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Internal/Test.hs -------------------------------------------------------------------------------- /src/Data/Derive/Internal/Traversal.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Internal/Traversal.hs -------------------------------------------------------------------------------- /src/Data/Derive/Is.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Is.hs -------------------------------------------------------------------------------- /src/Data/Derive/JSON.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/JSON.hs -------------------------------------------------------------------------------- /src/Data/Derive/LazySet.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/LazySet.hs -------------------------------------------------------------------------------- /src/Data/Derive/Lens.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Lens.hs -------------------------------------------------------------------------------- /src/Data/Derive/Monoid.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Monoid.hs -------------------------------------------------------------------------------- /src/Data/Derive/NFData.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/NFData.hs -------------------------------------------------------------------------------- /src/Data/Derive/Ref.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Ref.hs -------------------------------------------------------------------------------- /src/Data/Derive/Serial.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Serial.hs -------------------------------------------------------------------------------- /src/Data/Derive/Serialize.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Serialize.hs -------------------------------------------------------------------------------- /src/Data/Derive/Set.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Set.hs -------------------------------------------------------------------------------- /src/Data/Derive/TTypeable.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/TTypeable.hs -------------------------------------------------------------------------------- /src/Data/Derive/Uniplate.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Uniplate.hs -------------------------------------------------------------------------------- /src/Data/Derive/UniplateDirect.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/UniplateDirect.hs -------------------------------------------------------------------------------- /src/Data/Derive/UniplateTypeable.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/UniplateTypeable.hs -------------------------------------------------------------------------------- /src/Data/Derive/Update.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/Derive/Update.hs -------------------------------------------------------------------------------- /src/Data/DeriveDSL.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/DeriveDSL.hs -------------------------------------------------------------------------------- /src/Data/DeriveMain.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/DeriveMain.hs -------------------------------------------------------------------------------- /src/Data/DeriveSYB.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/DeriveSYB.hs -------------------------------------------------------------------------------- /src/Data/DeriveTH.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Data/DeriveTH.hs -------------------------------------------------------------------------------- /src/Derive/Derivation.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Derive/Derivation.hs -------------------------------------------------------------------------------- /src/Derive/Flags.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Derive/Flags.hs -------------------------------------------------------------------------------- /src/Derive/Generate.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Derive/Generate.hs -------------------------------------------------------------------------------- /src/Derive/Main.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Derive/Main.hs -------------------------------------------------------------------------------- /src/Derive/Test.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Derive/Test.hs -------------------------------------------------------------------------------- /src/Derive/TestInstances.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Derive/TestInstances.hs -------------------------------------------------------------------------------- /src/Derive/Utils.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Derive/Utils.hs -------------------------------------------------------------------------------- /src/Language/Haskell.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Language/Haskell.hs -------------------------------------------------------------------------------- /src/Language/Haskell/Convert.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Language/Haskell/Convert.hs -------------------------------------------------------------------------------- /src/Language/Haskell/TH/All.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Language/Haskell/TH/All.hs -------------------------------------------------------------------------------- /src/Language/Haskell/TH/Compat.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Language/Haskell/TH/Compat.hs -------------------------------------------------------------------------------- /src/Language/Haskell/TH/Data.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Language/Haskell/TH/Data.hs -------------------------------------------------------------------------------- /src/Language/Haskell/TH/ExpandSynonym.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Language/Haskell/TH/ExpandSynonym.hs -------------------------------------------------------------------------------- /src/Language/Haskell/TH/Helper.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Language/Haskell/TH/Helper.hs -------------------------------------------------------------------------------- /src/Language/Haskell/TH/Peephole.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Language/Haskell/TH/Peephole.hs -------------------------------------------------------------------------------- /src/Language/Haskell/TH/SYB.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Language/Haskell/TH/SYB.hs -------------------------------------------------------------------------------- /src/Language/Haskell/TH/Semtex.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/src/Language/Haskell/TH/Semtex.hs -------------------------------------------------------------------------------- /travis.hs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ndmitchell/derive/HEAD/travis.hs --------------------------------------------------------------------------------