[Haskell-cafe] extensible records - Vinyl - alternatives?
althainz at gmail.com
Mon May 5 07:21:35 UTC 2014
thanks for your answer, I will re-check HList with Labelable labels. With
regards to your question "named labels": good point, all records indeed
have "named labels" so what was my statement? I actually thought that Vinyl
does keep run-time information of the labels from a Blog about vinyl-gl,
but actually I'm not so sure about it anymore, so it is more a question: do
those alternatives of extensible records differentiate by the way they keep
runtime information of labels?
2014-05-03 18:54 GMT+02:00 adam vogt <vogt.adam at gmail.com>:
> Hello Peter,
> Could you show what you mean by "named labels"?
> Vinyl is a fine choice, but have you looked at HList >= 0.3? The
> lenses/labels done with Data.HList.Labelable are prettier than the
> vinyl alternative in my biased opinion. Furthermore, they support
> changing types in the record unlike vinyl (ie. they provide a Lens
> not Lens').
> HList is a bit slow at compile time
> <http://code.haskell.org/~aavogt/HList-benchmark/a.html> if you make
> records with many fields. That situation may improve soon if we take
> advantage of the ordering on Symbol that ghc-7.8 introduced. In other
> words, we will probably follow the lead of
> <http://www.haskell.org/haskellwiki/CTRex> and make Records sorted by
> their labels.
> There are quite a few other libraries
> Also consider lens' makeClassy as another solution to the records
> On Sat, May 3, 2014 at 6:16 AM, Peter Althainz <althainz at gmail.com> wrote:
> > Dear All,
> > I'm searching a handsome library for handling large amounts of
> > data in a flexible manner. So to speak I want to use some kind of
> > inheritance of data fields. I think this is where the extensible records
> > discussion is a proper description of my use case.
> > I've found 2 libraries making this work, so far:
> > HList
> > Vinyl
> > I currently prefer Vinyl due to the complex types in HList, lens
> > compatibiliy, named labels. (I love the HList and OOHaskel papers, but
> > practical use, I currently prefer Vinyl).
> > What do you think, what is the best way nowadays to use extensible
> > Is Vinyl a good choice from your point of view?
> > regards
> > Peter
> > _______________________________________________
> > Haskell-Cafe mailing list
> > Haskell-Cafe at haskell.org
> > http://www.haskell.org/mailman/listinfo/haskell-cafe
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Haskell-Cafe