tek / splain

better implicit errors for scala
MIT License
370 stars 29 forks source link

What's the roadmap & release strategy after being accepted into scala 2.13.6+ release? #53

Closed tribbloid closed 2 years ago

tribbloid commented 3 years ago

(merged since 2.13.6)

https://github.com/scala/scala/releases/tag/v2.13.6

Will this repo be superceded and we move all active development to scala

or this repo remain active and wait for the scala compiler repo to periodically pull from us?

How do we test it for the latest integration?

tek commented 3 years ago

good question! I have not worked out any plans yet. But one obvious course of action would be to turn this project into an Analyzer Plugin, since I have added support for that in the compiler, which allows us to provide new features immediately (and old features that were rejected in the compiler PR). Not sure how constrained it will be though

tek commented 3 years ago

for reference: https://github.com/scala/scala/blob/2.13.x/src/compiler/scala/tools/nsc/typechecker/AnalyzerPlugins.scala#L190

tribbloid commented 3 years ago

Yeah but obviously if you want to add features this way it will not be backward compatible to earlier scala version. So the question is:

The second question should be easier to figure out. I'm also interested in @dwijnand & other committers' preferences

tek commented 3 years ago

I think compatibility should be possible. we'll have to give it a try. about how features are supposed to be pushed, I do not know.

tribbloid commented 3 years ago

I'll just ask on Spark gitter or issue tracker. Hopefully that community won't eat us for breakfast (like what they did to https://ensime.github.io/)

And how could I possibly forgot the most important part?

Congratulations! Long overdue

dwijnand commented 3 years ago

Scala plugins must be "fully cross-built" meaning they are released against specific Scala versions, such as splain_2.13.5 so a version for 2.13.6+ being architected as an analyzer plugin would be possible, with some specific source repos.

In terms of updating the implementation in the compiler, I don't have the bandwidth to sync them myself, so we would need @tek or another interested party to submit those updates as pull requests.

tek commented 3 years ago

thanks @tribbloid :smile:

sure @dwijnand , that should be no problem.

tribbloid commented 3 years ago

Thanks a lot @dwijnand

@tek so we keep our package name & repo, that's a good news.

The remaining problem is to facilitate easy pull request into scala compiler (which obviously requires a batch package renaming). I don't know enough about what kind of works are for the first PR, so you should have a better answer

tek commented 3 years ago

I'd suggest to start with manual backporting and see how it goes.

tribbloid commented 2 years ago

Should be superseded by 1.0.0 discussion, closing