unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Marius Vollmer <mvo@zagadka.ping.de>
Cc: neil@ossau.uklinux.net, raeburn@raeburn.org, emacs-devel@gnu.org
Subject: Re: Emacs Lisp and Guile
Date: 25 Jul 2002 21:16:03 +0200	[thread overview]
Message-ID: <874renlito.fsf@zagadka.ping.de> (raw)
In-Reply-To: <200207251807.g6PI75d07615@aztec.santafe.edu>

Richard Stallman <rms@gnu.org> writes:

> Since Emacs Lisp syntax is not the same as Guile syntax, we will need
> a reader that handles Emacs Lisp syntax--unless it happens that the
> Guile reader could be customized to support Emacs Lisp syntax.  Is
> that feasible?

It is not possible to configure the Guile reader enough right now, but
it would certainly be a good thing to add that configurability.

>     2. The representation of Elisp variables doesn't allow for buffer- and
>     frame-local variables.
> 
> How to handle these in a Guile-based system is not obvious, but they are
> such important features that we must make them work.

A Elisp variable can start its existence as a normal variable and then
be later turned into a buffer- or frame-local variable and when such a
change occurs, all code (possibly already compiled) must start to
treat the variable as buffer local, right?

When that is the case, we need to treat Elisp variable references
differently from Scheme variable references.  In Scheme, we only look
up the storage location of a variable once and then each reference is
only a simple memory access.

However, we are also considering an automatic re-lookup machine that
would update the old lookups whenever the state of the module system
changes in such a way that these old lookups become outdated.  (That
is, when some code refers to a variable with the name "foo" and that
name is at first provided by the module mod1, and then mod1 is
changed to no longer export "foo" but mod2 now does, we will
automatically modify the code to refer to the new variable.)

We could use this (as of now non-existing) machinery to also modify
code that has been translated from Elisp.

I'm not sure that I like this approach, tho.  Right now, I'd say that
requiring the user to simply reload his files when he wants a new
name->variable mapping to take effect is good enough or maybe even
better.

That said, I think we should have a new primitive procedure, say
@elisp-ref, that does the right thing for Elisp variables.

-- 
GPG: 7CB2 927E F53F BD3C 5DC4  CD06 CF32 AB3E 1FC6 BAE7

  reply	other threads:[~2002-07-25 19:16 UTC|newest]

Thread overview: 75+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-07-20  0:35 Emacs Lisp and Guile Richard Stallman
2002-07-20  8:37 ` Neil Jerram
2002-07-21 20:15   ` Richard Stallman
2002-07-24 22:05     ` Neil Jerram
2002-07-25 18:07       ` Richard Stallman
2002-07-25 19:16         ` Marius Vollmer [this message]
2002-07-27 18:53           ` Richard Stallman
2002-07-30 12:20             ` Marius Vollmer
2002-07-31  5:54               ` Richard Stallman
2002-08-01 19:39                 ` Marius Vollmer
2002-08-01 20:52                   ` Kai Großjohann
2002-08-02 10:23                     ` Marius Vollmer
2002-08-02 10:41                       ` Kai Großjohann
2002-08-02 12:09                         ` Marius Vollmer
2002-08-02 12:37                           ` Kai Großjohann
2002-08-05 15:19                             ` Marius Vollmer
2002-08-02 22:14                           ` Richard Stallman
2002-08-02 22:53                             ` Sam Steingold
2002-08-03 15:38                               ` Simon Josefsson
2002-08-03 16:15                                 ` Sam Steingold
2002-08-03 19:35                                   ` Lars Magne Ingebrigtsen
2002-08-03 20:33                                 ` Kai Großjohann
2002-08-03 20:40                                   ` Simon Josefsson
2002-08-03 22:41                                     ` Sam Steingold
2002-08-04  5:14                                     ` Eli Zaretskii
2002-08-04 23:26                                 ` Richard Stallman
2002-08-05 15:58                                   ` Sam Steingold
2002-08-09 18:02                                   ` Alex Schroeder
2002-08-11  3:54                                     ` Richard Stallman
2002-08-04 23:25                               ` Richard Stallman
2002-08-05 16:10                                 ` Sam Steingold
2002-08-10  7:17                                   ` Noah Friedman
2002-08-10 14:01                                     ` Alex Schroeder
2002-08-11 16:52                                     ` Sam Steingold
2002-08-02 17:43                   ` Richard Stallman
2002-08-05 16:08                     ` Marius Vollmer
2002-08-07 14:24                       ` Richard Stallman
2002-08-08 16:35                         ` Marius Vollmer
2002-08-09 16:39                           ` Richard Stallman
2002-08-12 14:51                             ` Marius Vollmer
2002-08-13  1:47                               ` Richard Stallman
2002-08-13 19:13                                 ` Marius Vollmer
2002-08-14  5:15                                   ` Richard Stallman
2002-08-14 18:26                                     ` Marius Vollmer
2002-08-15 19:53                                       ` Richard Stallman
2002-08-19 21:03                                         ` Marius Vollmer
2002-08-09  6:50                         ` Stefan Monnier
2002-08-10 17:16                           ` Richard Stallman
2002-08-07 14:24                       ` Richard Stallman
2002-08-07 15:38                         ` Simon Josefsson
2002-08-08  7:01                           ` Richard Stallman
2002-08-08 16:06                         ` Marius Vollmer
2002-08-09 16:39                           ` Richard Stallman
2002-08-12 13:40                             ` Marius Vollmer
2002-08-13  1:47                               ` Richard Stallman
2002-08-13 19:17                                 ` Marius Vollmer
2002-08-14  5:15                                   ` Richard Stallman
2002-08-14 18:21                                     ` Marius Vollmer
2002-08-10 14:32                     ` Michael Sperber [Mr.  Preprocessor]
2002-08-11  3:55                       ` Richard Stallman
2002-08-11  8:28                         ` Michael Sperber [Mr.  Preprocessor]
2002-08-12 17:05                           ` Richard Stallman
2002-08-13  6:58                             ` Michael Sperber [Mr.  Preprocessor]
     [not found]                             ` <ljr8h4803x.fsf@burns.dt.e-technik.uni-dortmund.de>
2002-08-13 22:47                               ` Richard Stallman
2002-08-14 18:50                                 ` Marius Vollmer
2002-08-15 19:53                                   ` Richard Stallman
2002-08-19 20:54                                     ` Marius Vollmer
2002-08-21  0:12                                       ` Richard Stallman
2002-07-28  8:17         ` Neil Jerram
2002-07-29 17:30           ` Richard Stallman
2002-07-25  4:22   ` Ken Raeburn
2002-11-05 23:28     ` Neil Jerram
2002-11-07  4:49       ` Richard Stallman
2002-11-07 20:32         ` Neil Jerram
2002-11-09 11:54           ` Richard Stallman

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/emacs/

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

  git send-email \
    --in-reply-to=874renlito.fsf@zagadka.ping.de \
    --to=mvo@zagadka.ping.de \
    --cc=emacs-devel@gnu.org \
    --cc=neil@ossau.uklinux.net \
    --cc=raeburn@raeburn.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.
Code repositories for project(s) associated with this public inbox

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

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).