unofficial mirror of guile-devel@gnu.org 
 help / color / mirror / Atom feed
From: ludo@gnu.org (Ludovic Courtès)
To: guile-devel@gnu.org
Subject: Re: guile and elisp
Date: Mon, 29 Mar 2010 14:01:40 +0200	[thread overview]
Message-ID: <874ojze3q3.fsf@gnu.org> (raw)
In-Reply-To: m31vf3h0gi.fsf@pobox.com

Hello!

Andy Wingo <wingo@pobox.com> writes:

> On Mon 29 Mar 2010 10:42, ludo@gnu.org (Ludovic Courtès) writes:

[...]

>>   - Scheme’s #f/() are more expressive that elisp’s nil.  They can be
>>     easily mapped to nil, whereas it seems hard to automatically choose
>>     whether to map nil to #f or to ().  This also supports the idea of
>>     requiring Scheme code to make explicit conversions.
>
> Sure, though it's easy to map all three values to "not", "null?", and
> "boolean?", in those predicates' incarnations in both languages. For
> that reason I think we can avoid conversion of values.

Well, yes, conversions can be avoided in many but not all situations, as
the corner cases you described illustrate (notably equality predicates
and hash functions).  Maybe it’s a good middle ground, though.  I’m
wondering to what extent such a semi-transparent solution could
“surprise” programmers.

>>   - Elisp should be considered “legacy”.  Whenever something can’t be
>>     made transparent, I’d consider Scheme first-class and Elisp
>>     second-class.
>
> Hoo, that's a really broad definition of legacy.

Yes.  :-)

> Even if all elisp hackers were to stop hacking elisp today, we'd
> probably still have elisp code 10 years from now. Hopefully we don't
> have to make a "first-class"/"second-class" distinction, besides the
> obvious one that Scheme is first-class to Scheme, and Elisp to Elisp,
> and so on.

Sure.

What I meant is that Scheme’s disjoint boolean type should be considered
the Right Thing.  I’d rather keep it really disjoint, at the cost of
weaker/less trivial interop, than going the elisp road too far.

Thanks,
Ludo’.





  reply	other threads:[~2010-03-29 12:01 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-25 12:22 guile and elisp Andy Wingo
2010-03-27 13:07 ` Mark H Weaver
2010-03-27 16:54   ` Andy Wingo
2010-03-27 18:01     ` Mark H Weaver
2010-03-28 12:13       ` Andy Wingo
2010-03-29  8:42 ` Ludovic Courtès
2010-03-29 10:43   ` Andy Wingo
2010-03-29 12:01     ` Ludovic Courtès [this message]
2010-03-29 18:32       ` Grant Rettke

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=874ojze3q3.fsf@gnu.org \
    --to=ludo@gnu.org \
    --cc=guile-devel@gnu.org \
    /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).