New patches: [unrevert anonymous**20100427035043] { hunk ./Data/HList/GhcRecord.hs 2 {-# OPTIONS_GHC -fno-warn-missing-signatures #-} -{-# LANGUAGE EmptyDataDecls #-} -{-# LANGUAGE FlexibleContexts #-} -{-# LANGUAGE FlexibleInstances #-} -{-# LANGUAGE ScopedTypeVariables #-} -{-# LANGUAGE UndecidableInstances #-} -{-# LANGUAGE MultiParamTypeClasses #-} -{-# LANGUAGE FunctionalDependencies #-} +{-# LANGUAGE ScopedTypeVariables, EmptyDataDecls, FunctionalDependencies, + MultiParamTypeClasses, UndecidableInstances, PatternSignatures, + FlexibleInstances, FlexibleContexts #-} {- | The HList library hunk ./Makefile 7 cd examples; make test-ghc commit: - darcs record -a -m "See ChangeLog" + darcs record -a -m "Committed from the Makefile" darcs push -a hunk ./examples/MainGhcGeneric1.hs 181 test1 = unpricedAngus test2 = test1 .!. breed test3 = hDeleteAtLabel breed test1 - test4 = breed .=. Sheep .@. test1 + test4 = test1 .@. breed .=. Sheep test5 = price .=. 8.8 .*. test1 test6 = hProjectByLabels (HCons breed (HCons price HNil)) test5 -- test7 should have the same type as test1 and test4 but } Context: [Format documentation for haddock Adam Vogt **20100426212907 Ignore-this: 9a9a307316b95dc23e516165666b2007 ] [Expose Data.HList.MakeLabels Adam Vogt **20100426214909 Ignore-this: 4b8a963f1432ccdd2b9a005722b1f813 While template-haskell is pretty volatile, the code in MakeLabels is quite basic and likely compatible with many versions of TH: This does break hugs-compatibility however, and may justify rejecting this patch, and putting MakeLabels in a separate cabal package (such as HList-MakeLabels-TH). ] [Patches by Adam Vogt and Gwern Branwen. oleg@okmij.org**20100427031820] [bump version to 0.2.1 for GHC 6.10 updates gwern0@gmail.com**20100426024157 Ignore-this: 251c0290865fd41bf6aff85135fefa6 ] [Note that the repo is at code.haskell.org now. Adam Vogt **20100426215612 Ignore-this: b37063680aec32e8ebd8a3dca54d5ec2 ] [Two monadic versions of TIPTransform oleg@okmij.org**20100330050451] [Two patches from Adam Vogt, see ChangeLog oleg@okmij.org**20100218005946] [Make Typeable instances nonstrict. Adam Vogt **20100217185330 Ignore-this: fa3a8148801780e5c4fe4655ee97890a ] [Compatiblity with ghc-6.12 Adam Vogt **20100217185104 Ignore-this: 9d8841217366bf7e57180f5019bc4e2b ] [LANGUAGE pragma in the examples. Tests should now run without warnings. oleg@okmij.org**20100114235817] [See ChangeLog rlaemmel@gmail.com**20100112050733 Ignore-this: cdf941bf3a303eb9723097d6e19f316b ] [trivia rlaemmel@gmail.com**20100111092414 Ignore-this: c1c00cfe8fcbe44d38906af5e1c4d0ba ] [added a trivial makefile for convenience rlaemmel@gmail.com**20100110052136 Ignore-this: 38e1be4bb9e71ce441632fe49261c9ad ] [ rlaemmel@gmail.com**20100110051856 Ignore-this: 7355f392573d156be74b63132028e017 ] [Co-evolution with OOHaskell rlaemmel@gmail.com**20100110050351 Ignore-this: bfee906940de6a4146395ff29060f6ba ] [darcs instructions rlaemmel@gmail.com**20100110010412 Ignore-this: 5037f41ac22f03aeb6fe89abbd07b8b8 ] [cleanup-html rlaemmel@gmail.com**20091227232709 Ignore-this: a022adc650efc06d669584ecb5dddb97 ] [TIPTransform example. Adjusted LANGUAGE pragmas. oleg@okmij.org**20090917003129] [Noted the release 0.2 oleg@okmij.org**20090916012919] [hlist.cabal: bump to 0.2 gwern0@gmail.com**20090915165208 Ignore-this: 8a47d3bbb61ac58553dbd723fb75ef23 ] [A version of typeCast/TypeEq that works with the declarations in the FakePrelude. oleg@okmij.org**20090908065831] [made regression tests run again oleg@okmij.org**20090812081224] [Operator fixity updates jgbailey@gmail.com**20090811205058 Ignore-this: d7bcbbc614631d7516c8dad0e64977c7 Updated fixity declarations for record operators for usability and to better match familiar list and arithmetic operators. ] [Restore recordLabels to a purely type-level function. Brian Bloniarz **20090703195133 This reverts one part of the "Make hMap, hMapOut & recordLabels maximally lazy." patch, which Oleg correctly suggested was unnecessary. ] [Applied patches by Brian Bloniarz oleg@okmij.org**20090702010020] [Cabal: expose more modules. Brian Bloniarz **20090516191725 This adds the following modules to the exposed list: * Data.HList.Label4 * Data.HList.TypeEqGeneric1 * Data.HList.TypeCastGeneric1 * Data.HList.FakePrelude ] [Improve error messages from Record functions. Brian Bloniarz **20090516191615 Also adds a new function hRearrange, for permuting a Record by labels. ] [Remove GHC.IOBase from HList exports. Brian Bloniarz **20090516191237] [Make hMap, hMapOut & recordLabels maximally lazy. Brian Bloniarz **20090516191002 The spine of the output HList can be returned without forcing the input at all. Also adds recordValues, analagous to recordLabels. ] [ChangeLog update: applying Gwern's patches. oleg@okmij.org**20090630015502] [hlist.cabal: bump version to 0.1.1, since this really just fixed bugs gwern0@gmail.com**20090621192650 Ignore-this: b5b559ec15e13924b76dd4c69af0c703 ] [hlist.cabal: some style cleanup gwern0@gmail.com**20090621192640 Ignore-this: 145410eb290f36605a60b32fd9ba534d ] [examples/*: update imports gwern0@gmail.com**20090621192352 Ignore-this: b0e13d497017faee6b7f61449ac95bf5 ] [ttypeable: final file oleg forgot to move gwern0@gmail.com**20090621192258 Ignore-this: bd6021e1d1fd1a5cd2a7895869c7bc77 ] [hlist.cabal: add some data files missing gwern0@gmail.com**20090621192232 Ignore-this: e57649f57942b165ae7b895e4ca271f4 ] [hlist.cabal: expose needed modules gwern0@gmail.com**20090621192139 Ignore-this: 548a79f840f79c0b67f81b28a59cceeb ] [mv a second module oleg left behind gwern0@gmail.com**20090621191352 Ignore-this: d0df9db1cb61f4f8459dd0dcc6af32c8 ] [mv Data.HList.TypeEqBoolTTypeable to examples/; oleg left a module behind gwern0@gmail.com**20090621190707 Ignore-this: efb82e4a3bdb4601cd5b43f831f507f1 ] [Adding more language PRAGMAs oleg@okmij.org**20081022114153] [Small adjustments in locations and module names oleg@okmij.org**20081016033652] [Added option to supress warnings on no signatures. The absence of signatures is deliberate in many cases, to show off the inference. oleg@okmij.org**20080208015131] [Restoring CHList.hs oleg@okmij.org**20080206040232] [Adjusting LANGUAGE pragma, to use fewer extensions. oleg@okmij.org**20080206040143] [a few beautifications; removing excessive signatures. The absence of signatures is deliberate in many places: there is no point to repeat the same thing in terms and in types. oleg@okmij.org**20080206035627] [.cabal: fmt extensions and other-modules fields gwern0@gmail.com**20080203185123] [.cabal: update maintainer field to point to Oleg gwern0@gmail.com**20080203185058] [+extensions in hlist.cabal gwern0@gmail.com**20080203040137] [switch most files over from -fglasgow-exts to LANGUAGE pragmas gwern0@gmail.com**20080203035706] [rm Data.HList.CHList - apparently totally unused gwern0@gmail.com**20080203031825] [-Wall police gwern0@gmail.com**20080203031606] [rename all files so HList no longer lives in the top namespace but in the Data.HList namespace gwern0@gmail.com**20080203030528] [README: mention darcs home gwern0@gmail.com**20080203030501] [+build-test: configure, build, haddock gwern0@gmail.com**20080203005506] [HList.cabal: +tested-with field, only mention 6.8.2 since I haven't tried my changes with anything else gwern0@gmail.com**20080203005429] [HList.cabal: +category & expanded synopsis/description gwern0@gmail.com**20080203005329] [sp README gwern0@gmail.com**20080203005323] [-Wall the various files as far as possible gwern0@gmail.com**20080201043554] [hlist.cabal: fmt, update hs-souce-dir name, +builde-type field for faster install through hackage gwern0@gmail.com**20080201043511] [hlist.cabal: +license-file field to rm warning gwern0@gmail.com**20080201043452] [GhcExperiment.hs: fix haddock generation gwern0@gmail.com**20080201043432] [Added a simple wrapper hProjectByLabels2 to project Records rather than just HLists. Avoid exposing the data constructor Record. oleg@okmij.org**20070929072029] [Committed from the Makefile rlaemmel@gmail.com**20070921202826] [Union modulo record field order. oleg@okmij.org**20070920010833] [NarrowM and equivR, record equivalence modulo field order. oleg@okmij.org**20070920002549] [HMemberM and more optimal record projection oleg@okmij.org**20070919231217] [Various experiments about record equivalence; unfinished. oleg@okmij.org**20070919072558] [Committed from the Makefile rlaemmel@gmail.com**20070918223452] [Added UnionSymRec oleg@okmij.org**20070914012120] [Added MakeLabels, moved from OOHaskell. oleg@okmij.org**20070913010342] [Committed from the Makefile rlaemmel@gmail.com**20070911000021] [Committed from the Makefile rlaemmel@gmail.com**20070910015245] [GHC6-specific fix regarding the change in deciding undecidable instances. oleg@okmij.org**20070910010835] [GHC6-specific fix regarding the change in deciding undecidable instances. oleg@okmij.org**20070910005730] [Added ConsUnion -- building homogeneous lists by constructing unions. oleg@okmij.org**20070906000612] [Committed from the Makefile rlaemmel@gmail.com**20070831232600] [Committed from the Makefile rlaemmel@gmail.com**20070831211847] [Yet another representation of record, as TIC of Fieldish things. oleg@okmij.org**20070316055631] [Make records work nicely Musasabi **20070207082844] [Make it compile with GHC 6.6 Musasabi **20070202124238] [Add Cabal infrastructure and HList.hs Musasabi **20070202124208] [Move files to subdirectories Musasabi **20070202124042] [Infinite heterogeneous streams. oleg@okmij.org**20061101114955] [Added HSequence.hs oleg@okmij.org**20061101020747] [Added default for apply, to be used when Apply is a type-level only function. oleg@okmij.org**20061101012542] [Adding CHList. oleg@okmij.org**20061026073415] [Adjusting for the change in Record Field representation, simplifying. oleg@okmij.org**20060831003449] [Fields are now of the type F l v where label l is purely phantom. oleg@okmij.org**20060829004625] [Labels are exclusively type-level entities with no run-time representation. oleg@okmij.org**20060828221743] [TAG Release-2.0 oleg@okmij.org**20060801063941] Patch bundle hash: 6de303b6831e78b9d0c6c38a0ddc46c738e529c2