On 08/26/2018 01:07 PM, Mark H Weaver wrote:
HiPhish <[email protected]> writes:
I am writing an implementation of MessagePack [1] for Guile and a part of the
spec is the presence of a "nil" data type. What would be a good value to
express "nothing" in Guile?
However, I would strongly advise against writing code (or worse, APIs)
that depend on (if #f #f) or *unspecified* returning a particular
distinguished value.
That tells me we should never use `(define x)'.
I would also avoid Guile's #nil. That is a very special value, for one
purpose relating to Elisp compatibility, and ideally it should not be
used for anything else.
#nil only appears in the manual in association with the elisp extension.
I'm guessing it only intended to only appear in Scheme programs as '(const #nil)
when writing tree-il.