You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
First of all, this shapeless-builder is my first encounter with the shapeless in general, and it, while complex, is very compelling. I'd like to ask several questions about it.
Automatic generation of the fields. It's a bit tedious to create fieldsContainer for every class. It would be nice to have them automatically generated. I think this might be possible with the macros, but it's not very compelling solution. Is there a way to do this via shapeless?
In addition, it would be great to have code auto-completion hints for setters' names.
Asynchronous setters. A nice feature of such builder would be to have something like setAsync(k: Param[A], val: Future[A]), and then have the build() method to somehow automatically return a Future[CC] instead of CC. This future completes when all of the async setters are completed. Again, is this possible with shapeless and with the current approach used in this library?
Licensing. Is it possible to additionally license it with a more permissive license, like Apache, MIT or BSD? I'd like to use it at my work, and GPL is not allowed here, unfortunately.
I'd be willing to work on points 1-3, if they're feasible, but I'll definitely need some guidance (as I said, I'm totally new to shapeless and type-level programming in general, though I have a little of experience with Haskell). Are you interested in such cooperation?
The text was updated successfully, but these errors were encountered:
Feel free to work on things. You can probably go a long way with (1) and (2) by piggybacking on Shapeless's extensible records, but I'm not 100% sure. That might be a good toe-in-the-water experiment for getting started with Shapeless, and for contributing to this project. Once you understand all of the type-level machinery that keeps things in lockstep, implementing (3) should be straightforward.
First of all, this
shapeless-builder
is my first encounter with theshapeless
in general, and it, while complex, is very compelling. I'd like to ask several questions about it.fieldsContainer
for every class. It would be nice to have them automatically generated. I think this might be possible with the macros, but it's not very compelling solution. Is there a way to do this via shapeless?setAsync(k: Param[A], val: Future[A])
, and then have thebuild()
method to somehow automatically return aFuture[CC]
instead ofCC
. This future completes when all of the async setters are completed. Again, is this possible with shapeless and with the current approach used in this library?I'd be willing to work on points 1-3, if they're feasible, but I'll definitely need some guidance (as I said, I'm totally new to
shapeless
and type-level programming in general, though I have a little of experience with Haskell). Are you interested in such cooperation?The text was updated successfully, but these errors were encountered: