Skip to content
pannous edited this page Aug 30, 2021 · 5 revisions

async threading follows the go/zig path to be invoked on the caller side. the callee side, functions, are agnostic whether they are called in a synchronous or asynchronous way. This way function coloring and the huge syntactic and semantic async/await overhead mess is avoided:

go { sleep 1s and print "second"; done = true }
print "first"
last = after done return "third"
cancel last
// print last // warning: last is optional and asynchronous
print await last or "no third"

The after keyword creates an (aspect oriented) implicit signal listener on the variable done

Home

Philosophy

data & code blocks

features

inventions

evaluation

keywords

iteration

tasks

examples

todo : bad ideas and open questions

⚠️ specification and progress are out of sync

Clone this wiki locally