10 January 2010 Changed fixity level of <++ 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 gwern0@gmail.com: moving a few files around, cleaning up hlist.cabal 3 February 2008 Fifteen patches by gwern0@gmail.com: 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.