Miles Sabin
Miles Sabin
I agree that the ergonomics aren't perfect here, however you can get close to what you want by defining `map` as an object, ```scala object map extends HMap[(Key.Aux ~?> Id)#λ](Map(name...
Agreed. For the object approach to work we would need an `HMap` constructor which worked similarly to `HMap`'s companion object apply. Would you like to take a swing at that?
I'm very keen to see people explore alternatives ... give it a try and see where it leads :-)
Do you think you could extend it to polymorphic cases?
I meant something like your example built with `Or` where one of the branches is polymorphic.
> Is there anyone interested in reviewing this contribution? For sure, but this is still marked as a work in progress. Are there specific areas that you or @Katrix would...
Yes, this is planned for 3.0.
That's an interesting idea. Both of those libraries are quite small (I'm not suggesting that that's a bad thing :-) ) and I wonder how it would scale? Do you...
@Atry take a look at the smc branch for an idea of how things might be unified.
You'll see the same phenomenon with vanilla tagged types, eg., ``` scala> import shapeless._ import shapeless._ scala> trait Foo defined trait Foo scala> tag[Foo](1) res0: shapeless.tag.@@[Int,Foo] = 1 scala> tag[Foo](1:...