KEEP-87 is ready to be submitted for consideration...
# language-proposals
r
KEEP-87 is ready to be submitted for consideration. A working prototype is in place with facilities to install as an IDEA plugin. The proposal has been reworded to simplify the examples and remove references to functional programming. The syntax has been reduced to existing Kotlin idioms and we are open to different approaches. In essence it brings the ability to group extensions functions as they are today in Kotlin under an interface that is parametric. The compiler then automatically resolves proofs the extensions are supported by a given type and activate the extension syntax and functions of the interface in whatever scope these extensions are required. This is essentially compile time verified dependency injection. The PR with the propossal is ready here https://github.com/Kotlin/KEEP/pull/87 and there is a fork in the Arrow org where the prototype has been developed by members of the 47 OS team and the help of some people involved with the Kotlin compiler which were kind enough to help us navigate its complexity. Please let us know if there is a better way to submit this or any additional things we need to do on our side so this is considered. This seems a welcomed feature by the community given the active participation in the KEEP and the many people involved with the prototype and proposal. I would like to state we are very much interested in the feature for both FP and OOP and not so much in the specific encoding so we are looking forward and are open to iterate on grammar, syntax or idioms all around. We are looking forward to the compiler teams opinions and other members of the community. If you got here thanks for reading this far and let us know if you'd like to get involved to make this happen in Kotlin.
🔝 15
👏 25
arrow 4
🔥 11
K 40
l
satisfies behaviors (a group of functions)
Should append "or properties".
r
Thanks Louis, feel free to PR directly to the proposal text and we can add whatever fixes come up
l
@raulraja What I mentioned is in the PR comment, not in the code of the PR itself, I'd have PR the proposal otherwise
r
I see, I'll fix it there thanks.
Done!
👍 1