Changelog for HList-0.3.2.0
03 Feb 2014
Release 0.3.2.0
Relax hspec dependency
29 Jan 2014
Release 0.3.1.0
Work with newer GHC.TypeLits (SingI and similar were moved out)
05 Nov 2013
Release 0.3.0.1
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 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.