No comments yet.
From what I can tell, Erlang treats asynchronous messaging as a language primitive, and to do a synchronous request/response, you send a unique reference, and wait for an ACK back.
I've been fantasizing about what kind of programming language I would write (I don't need to be scolded for hubris, just daydreaming ;) ). It would be statically typed, functional in a pipe-ish way rather than in the pure sense, and have processes/messaging inspired by Erlang.
I'm not sure why I would use asynchronous messages as the foundation rather than synchronous. I'm thinking I would go in a more Promise-y direction, but without Promises explicitly ("message" function calls always return a Union(error,...), and always have either a default or configured timeout).
Are there enough cases for wanting to send a message without knowing at the very least that it was received, in the context of a high-level language?
Thanks in advance for considering this silly question <3