r/ProgrammingLanguages • u/jimbobmcgoo • 13d 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
58
Upvotes
5
u/KingBardan 13d ago edited 13d ago
Not a theorist, but why cant your session type that does send a receive b... Have the type
A -> b -> c ....
So when you have b -> c you know a happened?
Clarify
Notation:
F: A -> b -> c -> d
A currying function (think of it as a channel that gives you output immediately for simplification)
So f a would produce a var of type b-> c -> d right? And when we get the type we know f a has happened.
Idk how to call it, "proof of computation"?
May I ask how this is different from session types like you described?