Hi Adam,
 
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?
 
regards
Peter


2014-05-03 18:54 GMT+02:00 adam vogt <vogt.adam@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
<http://www.haskell.org/haskellwiki/Extensible_record#Libraries_on_hackage>.
Also consider lens' makeClassy as another solution to the records
problem.

Regards,
Adam

On Sat, May 3, 2014 at 6:16 AM, Peter Althainz <althainz@gmail.com> wrote:
> Dear All,
>
> I'm searching a handsome library for handling large amounts of configuration
> 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 for
> practical use, I currently prefer Vinyl).
>
> What do you think, what is the best way nowadays to use extensible records?
> Is Vinyl a good choice from your point of view?
>
> regards
> Peter
>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe@haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe
>