cats-effect icon indicating copy to clipboard operation
cats-effect copied to clipboard

Find a way to DRY up the `IOApp`s

Open djspiewak opened this issue 7 months ago • 4 comments
trafficstars

Somewhat of a follow up from #4201, though this has been a problem for a long time.

Basically all of the IOApps are very similar (especially JVM and Native), with just a few differences sprinkled throughout, some different documentation, and a few platform-specific APIs. We should try really hard to consolidate the actual code if we can because it's starting to get hard to maintain, especially between JVM and Native.

djspiewak avatar Mar 30 '25 17:03 djspiewak

Do you mind if I take a crack at this?

kapunga avatar Apr 02 '25 13:04 kapunga

Go for it! Make sure to double-check mimaReportBinaryIssues, since that's where the trickiness is likely to be (CI will also run this for you, so any PR won't build if bincompat is broken).

djspiewak avatar Apr 02 '25 14:04 djspiewak

@kapunga @djspiewak maybe should wait until https://github.com/typelevel/cats-effect/pull/4201 is merged, since that changes IOApp on the Native side? Or at least work on that branch?

armanbilge avatar Apr 02 '25 17:04 armanbilge

I've started working on a draft PR. It's got a ways to go and I'm happy with the approach I'm taking, but if you are super opinionated, you may want to have a look-see.

kapunga avatar Apr 06 '25 01:04 kapunga