I think I understand: it just so happens that `(if #f #f)` evaluates to 
`#<unspecified>`, but it would still be valid if it evaluated to 5 or 
"roflcopter".

> "The return value of a function that returns nothing" is a
> self-contradictory notion, if you think about it :)
I was under the impression that in Lisp any S-expression evaluates to 
*something*, even if that something is some junk value or "nothing".
 
> I would suggest using a symbol.  How about 'nil?
I was considering the possibility of serialising symbols as strings, but then 
'nil would be indistinguishable from the string "nil". The more I think about, 
the more a singleton instance of a custom record makes sense.





Reply via email to