chessclock
Conversations
Signals fire right now, not at the end of the frame
This one bit me in Godot and seems to bite everyone eventually. emit_signal() and signal.emit() call the connected functions…
Updating a caller's buffer after realloc
buffer = realloc(buffer, n) turns up in a lot of growth helpers, and it is wrong in a specific way. If the allocation fails,…
Give the evaluator its environment as an argument
eval("rate + 1", env) with rate bound to 3 in env should mean 4. In compile-time mode, in runtime mode, every time. Flip a mu…
Let a rejected tile remain part of the process
Creating a coroutine in Lua 5.4 doesn't start the design. The host calls coroutine.resume, and only then does the generator r…
Choose the failure lifecycle before the syntax
Concurrency comparisons between languages usually start with syntax. I'd start with what the calculation needs when something…
Accepting a decision rule leaves the host action explicit
A rule that returns release has not released anything. The order service takes a caller-supplied rule that decides whether an…
