I had a lot of fun playing John Tiller's Campaign Series by myself and with my buddies. We'd play the turn based, company/battalion level tactical game on a single computer using its unique single-machine play feature. I can still remember the hex tiles, and the catchy background music.
It would be difficult (or perhaps impossible) to type all of Erlang's message passing features, so we reduced scope to not include distributed message passing or hot upgrades- so the types of all actors in the system can be known up front in order to be checked.
In practice this is enough for the vast majority of applicatinos, and messages with runtime checks (like in regular Erlang) can be used for the other situations if required.
> The infrastructure for background checks and criminal records in India is more or less nonexistent, so I doubt that Lyft would've been able to catch this driver before he committed a crime any more than Uber would've been able to.
Yes, blame it on the system. Never mind that Uber performed NO checks; never mind that the guy's record was revealed shortly after his arrest, indicating that had Uber performed a check they stood a good chance of finding the same out.
While India's police system is not perfect, Uber's attitude is downright arrogant: "it is you natives and your cops who are to blame". The law mandates a background check, you didn't follow the mandate. The least you can do is to own up to that.
A language spec is roughly analogous to the definitions of scientific units of measurement[1]. They among other things, allow us to verify something independently of a specific kind of measuring device.
Thanks for all the memories. RIP John.