all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Andy Wingo <wingo@pobox.com>
To: rms@gnu.org
Cc: tromey@redhat.com, Thomas Lord <lord@emf.net>, emacs-devel@gnu.org
Subject: Re: guile and emacs and elisp, oh my!
Date: Sun, 25 Apr 2010 19:11:45 +0200	[thread overview]
Message-ID: <m3pr1n319q.fsf@pobox.com> (raw)
In-Reply-To: <E1O656N-0005lr-7b@fencepost.gnu.org> (Richard Stallman's message of "Sun, 25 Apr 2010 12:54:39 -0400")

Hi,

On Sun 25 Apr 2010 18:54, Richard Stallman <rms@gnu.org> writes:

>     Sure, Schemers ought to be encouraged to write
>     "(null? x)" rather than "(eq? x '())" but ... 
>     what about "(eq? x y)"?  
>
> My original plan was to have two execution modes,
> a Lisp mode in which () and Scheme's false object are equal,
> and a Scheme mode in which they were not equal.

That is something like what Guile does, except the mode can be
determined statically -- it's the language that the code is written in.
If it's elisp, they are equal, if it's scheme, they're not.

>     And: since Emacs lisp and Guile can't agree about
>     equality (whichever flavor) - how do I write a 
>     hash table library useful to both environments?
>
> It should hash all the kinds of nil the same.
> Then, as regards the comparison, it can depend on
> the execution mode as inherited from the caller.

Hashing nil, null, and false to the same value is probably a good idea.
Then if you use an elisp accessor, you get elisp semantics, or scheme
semantics with a scheme accessor.

Andy
-- 
http://wingolog.org/




      reply	other threads:[~2010-04-25 17:11 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-04-14 20:18 guile and emacs and elisp, oh my! Andy Wingo
2010-04-15  8:38 ` christian.lynbech
2010-04-15  8:53 ` joakim
2010-04-15 17:34   ` Andy Wingo
2010-04-15 23:54   ` Ken Raeburn
2010-04-16  6:48     ` joakim
2010-04-16 17:05     ` Ken Raeburn
2010-04-16 17:16       ` Ken Raeburn
2010-04-16 18:23       ` Stefan Monnier
2010-04-20 22:36 ` Tom Tromey
2010-04-21  7:37   ` christian.lynbech
2010-04-21  9:27   ` David Engster
2010-04-21  9:49     ` David Kastrup
2010-04-21 11:04       ` Lennart Borgman
2010-04-21 11:58       ` David Engster
2010-04-21 12:22         ` David Kastrup
2010-04-21 16:43   ` Ludovic Courtès
2010-04-22  9:35   ` Andy Wingo
2010-04-22 15:14     ` Karl Fogel
2010-04-25 19:36       ` Tom Tromey
2010-04-23  2:00     ` Thomas Lord
2010-04-23  8:28       ` Andy Wingo
2010-04-23  9:17         ` Ludovic Courtès
2010-04-23 10:19         ` christian.lynbech
2010-04-23 11:28           ` Andy Wingo
2010-04-23 11:31             ` christian.lynbech
2010-04-23 13:10               ` Andy Wingo
2010-04-23 22:43         ` Thomas Lord
2010-04-24 11:05           ` Andy Wingo
2010-04-25  0:02             ` Thomas Lord
2010-04-25 16:54           ` Richard Stallman
2010-04-25 17:11             ` Andy Wingo [this message]

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

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

  git send-email \
    --in-reply-to=m3pr1n319q.fsf@pobox.com \
    --to=wingo@pobox.com \
    --cc=emacs-devel@gnu.org \
    --cc=lord@emf.net \
    --cc=rms@gnu.org \
    --cc=tromey@redhat.com \
    /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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.