davegurnell / checklist

Validation library for Scala.
Apache License 2.0
47 stars 11 forks source link

scalaz support #3

Open jtjeferreira opened 7 years ago

jtjeferreira commented 7 years ago

Hi. Thanks for the great work. I discovered checklist when searching for an alternative for ValidationNel with support for soft errors, which is a very compelling use case.

However my code base is based in scalaz, so I have forked and ported checklist to scalaz in this branch

Would you be interested in this?

davegurnell commented 7 years ago

Abstracting over the two FP libraries is a possibility. Personally all of my code is Cats-based now but there's no harm in looking into making a back-end-independent build.

We'd need custom type classes to replace MonadError and a way of abstracting over Ior and \&/. There's a big of discussion of that forthcoming in issue #2.

jtjeferreira commented 7 years ago

I will keep a look in #2...

Regarding scalaz vs cats, please note that monocle still depends on scalaz[1], so checklist brings both cats and scalaz which is not perfect.

[1] https://github.com/julien-truffaut/Monocle/issues/419

davegurnell commented 7 years ago

Understood. Number of libraries doesn't bother me, personally, but I understand your concern. IIUC a port of Monocle to Cats is underway so this should be a temporary situation.

On Mon, 17 Apr 2017 at 23:56, João Ferreira notifications@github.com wrote:

I will keep a look in #2 https://github.com/davegurnell/checklist/issues/2...

Regarding scalaz vs cats, please note that monocle still depends on scalaz[1], so checklist brings both cats and scalaz which is not perfect.

[1] julien-truffaut/Monocle#419 https://github.com/julien-truffaut/Monocle/issues/419

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/davegurnell/checklist/issues/3#issuecomment-294619289, or mute the thread https://github.com/notifications/unsubscribe-auth/AAOI52kezoamHf3IDTxP8CO7_G_DahFsks5rw-4TgaJpZM4Mo2IC .

Jacoby6000 commented 7 years ago

Looks like Monocle is moving to cats, so that makes favoring cats seem even more likely. I believe their RC is out now.

Jacoby6000 commented 6 years ago

I think providing instances for scalaz typeclasses can be provided by us via a separate module, but I'm not sure how helpful it'd be provided the existence of shims.

davegurnell commented 6 years ago

Sorry for my radio silence on this. Shipping two libraries should be straightforward if we have our own data structure for storing results. I've not played with shims. It sounds like one more level of indirection than we need. I'm not adverse to it though!

On Mon, Jan 29, 2018 at 4:09 PM Jacob Barber notifications@github.com wrote:

I think providing instances for scalaz typeclasses can be provided by us via a separate module, but I'm not sure how helpful it'd be provided the existence of shims.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/davegurnell/checklist/issues/3#issuecomment-361295325, or mute the thread https://github.com/notifications/unsubscribe-auth/AAOI50OsIIiTqFX6xGU-XjWDgnMuapurks5tPe1AgaJpZM4Mo2IC .