purescript / purescript-record

Functions for working with records and polymorphic labels
BSD 3-Clause "New" or "Revised" License
70 stars 31 forks source link

Add type which represents and provide instances for homogeneous records #60

Closed paluh closed 4 years ago

paluh commented 4 years ago

I have this stub, which provides some instances for homogeneous records:

https://github.com/paluh/purescript-homogeneous/blob/master/src/Data/Homogeneous/Record.purs#L30

Could you please tell me if you think that this could be a valuable addition to this library?

As this type is really isomorphic to sized vector I can provide more instances like Monad. Currently I've stopped the implementation on the Applicative.

paluh commented 4 years ago

P.S. I know that I have there some heavy deps like record-extra and typelevel-eval. I'm not sure if I want to drop typelevel-eval as it would require a lot of RowList boilerplate to be included as well. Regarding Record.Extra.keys maybe I can bring it here too. From deps perspective this should stay as a separate library but I know that these kind of manipulation can be really handy in the real live scenarios and it would be nice to have some standard interface provided by this base Record manipulating library...

paluh commented 4 years ago

I've decided to move and publish the code under purescript-record-homogeneous. I'm probably going to reserve Record.Homogeneous namespace there.

Sorry for the spam!