A chord is a concurrency construct available in Polyphonic C♯ and Cω inspired by the join pattern of the join-calculus.
A chord is a function body that is associated with multiple function headers and cannot execute until all function headers are called.
[1] Cω defines two types of functions: synchronous and asynchronous.
A synchronous function acts like a normal function in typical imperative languages: upon invocation the function body is executed, and a return value may or may not be returned to the caller.
An asynchronous function acts similarly to a synchronous function that immediately returns void, but also triggers execution of the actual code in another thread/execution context.