Changelog for HList-

05 Nov 2013 Release fix `cabal test' 01 Nov 2013 Release 0.3 pun quasiquote supports nested records remove HStagedEq 30 Oct 2013 Another large patch from Adam Vogt Connect HList with Lens. The Data instance for HList treats HList as a list; a Data instance for HListFlat treats HList as a tuple. 24 Oct 2013 Another large patch from Adam Vogt Added HFoldl, HScanr, Data instances for HList, finished the update of Record, the Keyword example becomes full-fledged part of HList 17 Sep 2013 Another large patch from Adam Vogt Added HReplicate, SameLength constraint (used by HSequence and HMap), FunCxt for interpreting context applications, convenient syntax for record patterns, clean-up of ApplyAB and general clean-up 31 Aug 2013 Large patch from Adam Vogt Improving the Apply class (ApplyAB) to help type inference and avoid specifying many type sigatures. Fix a few of broken code files, in particular RecordAdv. 28 Aug 2013 Large patch from Adam Vogt moved files that need attention to broken/ put HSequence in with HList.HList: fixed the function added Label6 with GHC Symbols fix HZip, Variant, examples/TIPTransformM.hs Many Haddoc changes and beautifications format some examples for doctest 27 Aug 2013 Adam Vogt's patch greatly simplifying makeLabels. Updated TIC.hs 15 Nov 2012 Ported basic Records. 31 Oct 2012 New file HList/HList.hs contains the implementation of heterogeneous lists. HListPrelude.hs defines operations that work across all heterogeneous collections (lists, TIP, Records, etc). General clean-up, removing obsolete code. Code re-written up to Records. 25 Oct 2012 hUnfold hProjectByHNats and hProjectAwayByHNats now take type-level list of naturals as the argument. They are implemented in terms of Unfold. More computation is made purely type-level. 24 Oct 2012 Nat, Bool and [*] kinds HList is now GADT Rewriting FakePrelude, HListPrelude, HArray using type families to a large extent, and getting rid of functional dependencies 12 Oct 2011 Getting rid of overlapping instances in HOccurs Using only one TypeEq. This is the only place with overlapping instances Using ~ operator instead of TypeCast. Deprecating TypeCast Rearrangements of code, removing obsolete code Making sure everything works under GHC 7.0.4 19 May 2010 Beautification, release and tag 0.2.3 by Adam Vogt 26 April 2010 Patches from Adam Vogt to format documentation for Haddoc and to expose MakeLabels Release 0.2.1 by Gwern Branwen 29 March 2010 examples/TIPTransformM.hs, the monadic version of TIPTransform.hs 17 February 2010 Two patches from Adam Vogt to get the code compile on ghc-6.12 and to make Record Typeable instances nonstrict 10-14 January 2010 Reverse parameter order for .@. Changed fixity <++ Pushed uses of LANGUAGE pragmas further for OOHaskell examples 16 September 2009 Added TypeCastGeneric3, TypeEqGeneric3 -- the instances of typeCast and TypeEq that don't require separate compilation. They are like TypeCastGeneric2, TypeEqGeneric2, but integrated with the FakePrelude. Added the example file TIPTransform.hs, a variation on the keyword argument problem posed by Andrew U. Frank. Adjusted the LANGUAGE pragmas, made the examples run without the global -fglasgow-exts 15 September 2009 Release 0.2 by Gwern Branwen 11 August 2009 Made the regression tests run again. Please do "cd examples; make test-ghc" after any changes. 11 August 2009 Applied a patch from Justin Bailey: Updated fixity declarations for record operators for usability and to better match familiar list and arithmetic operators. Added Haddock comments for these operators 1 July 2009 Applied a set of four patches by Brian Bloniarz: Improve error messages from Record functions using the Fail type class trick Add hRearrange, to permute a Record by labels Expose a few hidden modules, needed for HaskellDB Make hMap, hMapOut & recordLabels maximally lazy Add recordValues, analogous to recordLabels 29 June 2008 Apply the set of patches by moving a few files around, cleaning up hlist.cabal 3 February 2008 Fifteen patches by Data.HList hierarchy, use of LANGUAGE, -Wall, changes to Cabal files 19 September 2007 Added HMemberM Optimized record projection in Record.hs. The optimization should be especially noticeable for record narrowing. Added NarrowM, which reports both success and failure of narrowing Added equivR, record equivalence modulo field order, with witnessing conversions ConsUnion.hs now checks for record types and treat the latter equivalent modulo the order of fields. This gives optimized, shallower unions. 13 September 2007 Added UnionSymRec, the symmetric union of two records. The code is not very optimal though. 12 September 2007 Added MakeLabels -- Template Haskell code for automatically generating Labels (as in Label4.hs). Renaming of (data) types in Records, to more meaningful names. 05 September 2007 Added ConsUnion.hs -- building homogeneous lists of heterogeneous components by constructing the union on-the-fly. 12 February 2007 Added patches by Einar Karttunen: Move files to subdirectories Add Cabal infrastructure and HList.hs Make it compile with GHC 6.6 31 October 2006 Added HSequence.hs: (monadic) `sequence' for heterogeneous lists. It is also the illustration of TypeCast. 26 October 2006 Added CHList.hs: Potentially infinite, open, statically constrained HLists. 30 August 2006 Record.hs: Labels now are exclusively type-level entities with no run-time representation. The Record API remains the same (although the implementation had to be adjusted). 31 July 2006 TAG Release-2.0. The HList DARCS repository announced. 22 June 2006 VariantP.hs: Our extensible (variant) list supports the regular list API. 20 June 2006 Added VariantP.hs -- polymorphic variants as dual of records. The extensibility problem solved? We can re-use as much as old code as possible, when extending the variant and extending the functions to the extended variant (and get the subtyping for free). 19 June 2006 Added RecordP.hs -- records with unzipped and fully phantom labels. Added tests as well. 08 May 2006 MainPatternMatch.hs -- example of pattern-matching on HList's Records 08 February 2006 Primed hMap/HMap as to enable a new native definition Started ChangeLog, finally.