lihaoyi / autowire

Macros for simple/safe RPCs between Scala applications, including ScalaJS/ScalaJVM
378 stars 50 forks source link

Parameterize effect type #77

Open Dennis4b opened 5 years ago

Dennis4b commented 5 years ago

Hi, Love autowire, using it extensively.

My stack is mostly cats/IO based, doobie, http4s, and so on, and autowire would fit in more naturally (i.e. no unsafeToFuture calls or having to choose to return Int or Future[Int]) if I could make the server side generated code have a different effect type (i.e. the usual F[_], which for me would be cats.effect.IO).

I understand this may not be something you would want to spend any time on, but perhaps you/anyone could give your thoughts on the amount of surgery needed? I'd like to try it.

Note: PR #76 adds support for IO but by calling unsafeToFuture, I would like to avoid the Futures altogether.

Thank you!

cornerman commented 5 years ago

I had the same problem and decided to write a similar library that does exactly that. Maybe it helps you, too: https://github.com/cornerman/sloth