unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Mark H Weaver <mhw@netris.org>
To: John Cowan <cowan@ccil.org>
Cc: guile-user@gnu.org, hiphish@posteo.de
Subject: Re: A value for "nothing"
Date: Mon, 27 Aug 2018 17:29:33 -0400	[thread overview]
Message-ID: <87k1obsdky.fsf@netris.org> (raw)
In-Reply-To: <CAD2gp_ScNYJTTR48eFPX7VouhEB1iFGoVHzLDWeTsbdRsJY7MQ@mail.gmail.com> (John Cowan's message of "Mon, 27 Aug 2018 09:00:26 -0400")

John Cowan <cowan@ccil.org> writes:

> On Mon, Aug 27, 2018 at 12:54 AM Mark H Weaver <mhw@netris.org> wrote:
>  
>  However, in most cases, symbols are precisely what's needed to represent
>  distinguished atomic objects such as this.
>
> The problem with symbols in Scheme is that they are not namespaced, so
> two different modules can use the same symbols in different ways.
> Exported variable bindings can be managed with the module system.

Right, but this is only a problem if the same variable might contain
either a MessagePack or some other data type that uses the same symbol
to mean something different.  In other words, this is only a problem if
you need to be able to distinguish between a MessagePack and some other
data type.

However, given that a MessagePack can also be a boolean, integer, float,
string, etc, and that the plan is apparently to use the corresponding
native Scheme objects to represent these things (which I agree is a good
idea), it will already be infeasible to distinguish between a
MessagePack and anything else.

So, while I agree that this is something to keep in mind when using
symbols in Scheme, I think it's a moot point in this case.

On the other hand, one disadvantage with using record types is that they
cannot be written and then read back in with the standard Scheme reader.
If this is considered desirable, it might be a point in favor of using
symbols instead of records.

      Mark



  reply	other threads:[~2018-08-27 21:29 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-08-26 10:13 A value for "nothing" HiPhish
2018-08-26 17:21 ` Thomas Morley
2018-08-26 17:27 ` Joshua Branson
2018-08-26 17:49 ` John Cowan
2018-08-27  4:52   ` Mark H Weaver
2018-08-27 13:00     ` John Cowan
2018-08-27 21:29       ` Mark H Weaver [this message]
2018-08-27 21:32       ` Mark H Weaver
2018-08-26 20:07 ` Mark H Weaver
2018-08-26 22:08   ` Matt Wette
2018-08-27  8:04   ` tomas
2018-08-27 20:12     ` Mark H Weaver
2018-08-27 20:46       ` Mark H Weaver
2018-08-28  0:50         ` Matt Wette
2018-08-28  6:58           ` Mark H Weaver
2018-08-28 15:19             ` John Cowan
2018-08-28 15:38               ` Mark H Weaver
2018-08-28 15:59                 ` Mark H Weaver
2018-08-28 16:12                 ` John Cowan
2018-08-28 17:15                   ` Mark H Weaver
2018-08-28 19:07                   ` Mark H Weaver
2018-08-27 20:54       ` Hans Åberg
2018-08-27  0:17 ` Panicz Maciej Godek
2018-08-27  8:02   ` tomas
2018-08-27  8:29     ` Panicz Maciej Godek
2018-08-27  8:29   ` HiPhish
     [not found] ` <8840615.kRvQfVdCvZ@aleksandar-ixtreme-m5740>
     [not found]   ` <CAD2gp_QLqd=_RbF=HTEbCLp1onmUq-c74g0FXTvMgdz8JB4-8A@mail.gmail.com>
2018-08-27  8:24     ` HiPhish
     [not found] ` <3467110.H24gZIzStD@aleksandar-ixtreme-m5740>
     [not found]   ` <87ftz0vidc.fsf@netris.org>
2018-08-27  8:40     ` HiPhish
2018-08-27 12:37       ` Ludovic Courtès
2018-08-27 19:49         ` Mark H Weaver
2018-08-28  7:52           ` Ludovic Courtès
  -- strict thread matches above, loose matches on Subject: below --
2018-08-26 20:25 HiPhish
2018-09-13 21:49 HiPhish
     [not found] ` <CAD2gp_Sg-aDXZKfOcL-i2py7ne4c0Cp+2HvKS4DYi1Antm_B1A@mail.gmail.com>
2018-09-14 22:45   ` HiPhish
2018-09-15  0:26     ` John Cowan
2018-09-15 14:50       ` HiPhish
2018-09-15 18:28         ` Keith Wright
2018-09-15 21:50           ` Edwin Watkeys
2018-09-15 22:16             ` HiPhish
2018-09-15 22:23               ` Edwin Watkeys
2018-09-15 22:13           ` HiPhish
2018-09-15 22:45       ` David Pirotte

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87k1obsdky.fsf@netris.org \
    --to=mhw@netris.org \
    --cc=cowan@ccil.org \
    --cc=guile-user@gnu.org \
    --cc=hiphish@posteo.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).