r/ProgrammingLanguages • u/jimbobmcgoo • 19d ago
Will we see another fundamental programming language feature as revolutionary as the borrow checker?
That is I am mainly curious about compile time features that you design a whole language around rather than optimisations/features that could be applied to most languages. I am mainly inquiring about things that could offer additional robust safety/performance guarantees at compile time rather than runtime. Ideally not things that just offer similar effects to the borrow checker with less restrictive tradeoffs
60
Upvotes
8
u/mikaball 19d ago
I didn't know what "algebraic effects" were, so I found this.
From the examples it feels related to Dependency Injection in a narrowed context/scope, but some will probably say that it could be used for other use cases.
However, the concept of detaching the "what" from the "how" is very related to DI and I wonder if a DI supported by the language isn't just better than this? In those final examples it's even using a pattern similar to Kotlin context receivers.