Absence & nothing

Done, the unit value

What does print hand back? Not “nothing” — there’s no nothing here. It hands back Done, the unit value: Ascent’s honest “there’s no information to report.”

print runs, and then its value — Done — is what lands in the slot, so nothing == Done is True. Assignments and loops evaluate to Done the same way: they do something rather than produce something.

Done is a real, single value — you can even write it as {}, an empty block — not a void hole that isn’t there. That distinction looks small now, but it’s exactly what the next screen leans on.