bmjames / scala-optparse-applicative

Scala port of Paolo Capriotti's optparse-applicative library. This repository is no longer maintained; newer versions exist in this fork: https://github.com/xuwei-k/optparse-applicative
BSD 3-Clause "New" or "Revised" License
72 stars 9 forks source link

Ideas for making a Cats version? #14

Open coltfred opened 7 years ago

coltfred commented 7 years ago

I have a few projects which are moving to Cats. It'd be nice if we could have a version of this that worked for Cats without slurping in Scalaz.

I can think of a couple options: 1) Duplicate the project, swap out Scalaz for Cats. 2) Write a core with 0 dependencies (reimplementing the needed typeclasses), then provide contrib modules which brought in the needed scalaz or cats version. 3) Use some crazy thing like @tpolecat's yax to ifdef things.

Based on the commit history, I think 1 is probably the best option since the project seems to be changing relatively slowly. Would you agree? Do you have better ideas?

cc/ @bmjames

tpolecat commented 7 years ago

My vote would be to sign on here and create a cats branch and then make it default, and drop scalaz. But if that's unpopular I'm happy to do a fork.

coltfred commented 7 years ago

I'd be fine with that personally. I'm gonna try and get the performance defect fixed up tonight. We'll see if anyone else comments here with a Yea or Nay.

bmjames commented 7 years ago

I have no personal interest in maintaining a Cats version, and I've largely stopped using Scala. I think it would make sense for someone to make a fork and carry the project forward from there. I'm happy to point to it from the README here.

tpolecat commented 7 years ago

Cool maybe we'll do that then.

johnynek commented 7 years ago

Happy to help as I'd like a cats port of this.

tpolecat commented 7 years ago

I'll take a stab at a cats port.

oscar-stripe commented 7 years ago

any news on the cats port?

tpolecat commented 7 years ago

Hey, yeah I made some progress but got wrapped around the axle with TransLift so I'm waiting for the MonadTrans swap. My branch is here.

johnynek commented 7 years ago

One of my colleagues just released this: https://github.com/bkirwi/decline which is a from scratch cats based implementation.

tpolecat commented 7 years ago

Cool, that looks a lot simpler.