logoalt Hacker News

the__alchemist • today at 6:26 PM • 1 reply • view on HN

> things have to happen in a certain order. At compile-time, your ordering is checked against certain rules, and certain classes of deadlocks and hangs can be avoided. The order of actions is then enforced at runtime.

This is how imperitive languages work. One line executes before the one below it as a default.


Replies

patagurbon • today at 8:51 PM

Choreographic languages are often hosted in a functional language like Haskell and OCaml though so the analogy isn’t quite right

I would instead say that choreographic languages enforce global visibility of communication. The global behavior of the system is available syntactically. It doesn’t necessarily or even typically involve mutation, explicit loops, side effects etc at least in the literature.

➕ show 1 reply