3 ms·
> That the messages are implemented as dynamically dispatched function calls… would be an implementation detail. Though with far ranging implications of course
by codeflo 5y ago
> That the messages are implemented as dynamically dispatched function calls… would be an implementation detail. Though with far ranging implications of course
It can't both be only an implementation detail and also have far reaching consequences. (It's not an implementation detail.)
> You can model and reduce everything to lambda calculus.
You actually can't, that's precisely my point. Lambda calculus is inherently "synchronous". You can't capture the full semantics of actual message passing with lambda calculus, you need a process calculus (like pi calculus) for that. (In case you're confused, this has nothing to do with Turing completeness, it's about modeling the behavior of concurrent systems. It's a really interesting subject.)
The point is, lambda calculus is sufficient to model OOP method calls, including everything in Smalltalk and Self. It's not sufficient to model the semantics of Erlang messages.