
Hi Alberto,
The examples in http://code.haskell.org/OOHaskell/ need some work to
compile with the current GHC and HList. The examples don't involve
nesting of records, so it's not really clear that involving lens would
make those examples more compelling.
Regards,
Adam
On Sun, May 4, 2014 at 4:15 AM, Alberto G. Corona
Are there any lens implementation of OOHaskell?. That would produce a massive exodus from the OO comunity to haskell.
2014-05-03 18:54 GMT+02:00 adam vogt
: 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
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
_______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
-- Alberto.