From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED!not-for-mail From: Matt Wette Newsgroups: gmane.lisp.guile.user Subject: Re: A value for "nothing" Date: Sun, 26 Aug 2018 15:08:07 -0700 Message-ID: References: <21036238.c6yQEfjfIL@aleksandar-ixtreme-m5740> <87sh30vqmm.fsf@netris.org> NNTP-Posting-Host: blaine.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Trace: blaine.gmane.org 1535321671 15709 195.159.176.226 (26 Aug 2018 22:14:31 GMT) X-Complaints-To: usenet@blaine.gmane.org NNTP-Posting-Date: Sun, 26 Aug 2018 22:14:31 +0000 (UTC) User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 To: guile-user@gnu.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Aug 27 00:14:27 2018 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by blaine.gmane.org with esmtp (Exim 4.84_2) (envelope-from ) id 1fu3Ih-00040j-EA for guile-user@m.gmane.org; Mon, 27 Aug 2018 00:14:27 +0200 Original-Received: from localhost ([::1]:50563 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fu3Kn-00087T-NT for guile-user@m.gmane.org; Sun, 26 Aug 2018 18:16:37 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:50642) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1fu3Jw-0007S0-5O for guile-user@gnu.org; Sun, 26 Aug 2018 18:15:49 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1fu3Cc-0007N5-Ns for guile-user@gnu.org; Sun, 26 Aug 2018 18:08:13 -0400 Original-Received: from mail-pg1-x535.google.com ([2607:f8b0:4864:20::535]:34647) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1fu3Cc-0007KV-Em for guile-user@gnu.org; Sun, 26 Aug 2018 18:08:10 -0400 Original-Received: by mail-pg1-x535.google.com with SMTP id u10-v6so4768258pgr.1 for ; Sun, 26 Aug 2018 15:08:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:references:from:message-id:date:user-agent:mime-version :in-reply-to:content-transfer-encoding:content-language; bh=hl2UDHrhmhV++6YKtum89gKv56DBU1tRQr5UgfiMo6k=; b=VxrljKB+X+kvRdW/8WT9SWHDLjJWMYY1laQwk1kZrv/hEfCb3yrnE/AZ0uAinxdBt7 sVmlwlyxoLVpgr3905O1SwEoyFqp4ulqH730abhC7zL2mvdrmvX//oe65Meipf4wnaRk dAJM7cgfrpJSMhOa5xN8L4zeemyyKmZUlxsXx/Q3jIeMJexQ3UOko8oYoc/ieHAzwGTm 0Rqz7sC+DzkV1fnt2kNA+m+ZZ6v8Bo5NhqLaW7/Lvd00zqFjWw1lmZZHwLFeag5kDwAT VfuyDGsMwNM7RJN5ImpNtO8Vt+Vpjey2fu1xxh+Y/8gQFajgL1vzlSvL50rdJRedlKCP DQiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=hl2UDHrhmhV++6YKtum89gKv56DBU1tRQr5UgfiMo6k=; b=tFzdi5drTNr1hjVi58iafxMtShxQIbB07AGuajf4QwhToaSGHRPQJ6NXy3uqtGc2GG Pyv75TPnToRiFjdGF9Mm78AVf4Ikj3NrQ6L9897ZWWbqaa8SmjMk9B0ml+LAtIsvY8oW EmV2Qr2fnlPEFYXWV+sBukCwrcdgmH5LGXkviaIiD5bsQFgN7xFnaYT+nV9+7rp2NaX5 wohrrc7UeSqb6E6hSe7rltCOoAzWzVQM6Ps0UCi5daWjbPhrJ+oYlLlcRQha2RSVRkOx LZGfuwl7qHrayiqzdVpuDVp3TjDjYpWzzu7FN+XFNV+egPUvTU60X83HY1rSjssIbmjV NKZg== X-Gm-Message-State: APzg51CGAlEl3qxjt+zSl0pQTyxoiXHkiaIkB7MKHNWFZD58CBGfrzUE tOqQFngnZNR1NtqRPeaFFVSCmpJh X-Google-Smtp-Source: ANB0VdaGTSuHEb2Iv7Ncp9BGrWpw1Q+w9ZVAUKc3CsG+R//M4s2T+byyYW1zgOk0TS/R/InMHXylQg== X-Received: by 2002:a63:7f08:: with SMTP id a8-v6mr9806779pgd.296.1535321288976; Sun, 26 Aug 2018 15:08:08 -0700 (PDT) Original-Received: from [192.168.2.183] (216-165-229-229.championbroadband.com. [216.165.229.229]) by smtp.gmail.com with ESMTPSA id d9-v6sm28270206pfb.86.2018.08.26.15.08.08 for (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 26 Aug 2018 15:08:08 -0700 (PDT) In-Reply-To: <87sh30vqmm.fsf@netris.org> Content-Language: en-US X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 2607:f8b0:4864:20::535 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: "guile-user" Xref: news.gmane.org gmane.lisp.guile.user:14769 Archived-At: On 08/26/2018 01:07 PM, Mark H Weaver wrote: > HiPhish 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.