-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deriving typeclass instances for CopK #218
Comments
https://github.com/djspiewak/iota-instances Here is our current working implementation. Though I must admin it is rather hacky. |
This has definitely been on my radar to implement but I never had any immediate need for it (and thus never prioritized working on it). I can revisit this in a few days and potentially provide some ideas and notes. This week I'm busy with extra meetings while I'm on site in SF for work. Also, @fommil might also have some suggestions on this front ;). |
yeah, I've been doing a bunch of stuff in this area https://gitlab.com/fommil/scalaz-deriving/tree/master/scalaz-deriving/src/main/scala/iotaz I'm trying to stick to blackbox macros. I plan on contributing this back to iotaz over the next few months. |
umm, oh you want to create instances like that. That's a very long winded way of doing it. Try the scalaz-deriving README instead. I have a much better abstraction than that. |
@andyscott
Hi!
I am working on migration of quasar from
scalaz.Coproduct
toiotaz.CopK
. We need a way to create instances of arbitrary typeclasses for arbitraryCopK
s.It seems like there is no way to do this with iota currently. Did you think about that? Do you know how could it be solved? Any suggestions are welcome. I am happy to submit a PR. We will be working on that anyway, but any guidelines would be appriciated.
The only solution that comes to my mind that would surely work but is far far far from ideal is to create a separate macro for each coproduct.
To give some example of what needs to be migrated:
The text was updated successfully, but these errors were encountered: