From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Richard Stallman Newsgroups: gmane.emacs.devel Subject: Re: Emacs Lisp and Guile Date: Thu, 25 Jul 2002 12:07:05 -0600 (MDT) Sender: emacs-devel-admin@gnu.org Message-ID: <200207251807.g6PI75d07615@aztec.santafe.edu> References: <200207200035.g6K0ZAb27891@aztec.santafe.edu> <200207212015.g6LKF4c00874@aztec.santafe.edu> Reply-To: rms@gnu.org NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1027620486 4192 127.0.0.1 (25 Jul 2002 18:08:06 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Thu, 25 Jul 2002 18:08:06 +0000 (UTC) Cc: raeburn@raeburn.org, emacs-devel@gnu.org, mvo@zagadka.ping.de Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.33 #1 (Debian)) id 17Xn1w-00015V-00 for ; Thu, 25 Jul 2002 20:08:04 +0200 Original-Received: from fencepost.gnu.org ([199.232.76.164]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17XnHL-0003D7-00 for ; Thu, 25 Jul 2002 20:23:59 +0200 Original-Received: from localhost ([127.0.0.1] helo=fencepost.gnu.org) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17Xn29-0005kB-00; Thu, 25 Jul 2002 14:08:17 -0400 Original-Received: from pele.santafe.edu ([192.12.12.119]) by fencepost.gnu.org with esmtp (Exim 3.35 #1 (Debian)) id 17Xn10-0005Zq-00; Thu, 25 Jul 2002 14:07:07 -0400 Original-Received: from aztec.santafe.edu (aztec [192.12.12.49]) by pele.santafe.edu (8.11.6+Sun/8.11.6) with ESMTP id g6PI7CB05784; Thu, 25 Jul 2002 12:07:12 -0600 (MDT) Original-Received: (from rms@localhost) by aztec.santafe.edu (8.10.2+Sun/8.9.3) id g6PI75d07615; Thu, 25 Jul 2002 12:07:05 -0600 (MDT) X-Authentication-Warning: aztec.santafe.edu: rms set sender to rms@aztec using -f Original-To: neil@ossau.uklinux.net In-Reply-To: (message from Neil Jerram on 24 Jul 2002 23:05:58 +0100) Errors-To: emacs-devel-admin@gnu.org X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.0.11 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: Emacs development discussions. List-Unsubscribe: , List-Archive: Xref: main.gmane.org gmane.emacs.devel:6038 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:6038 What you suggest would be ideal. I only talked about a "preprocessed version" because I was assuming that it might not be feasible to start modifying the primary Emacs codebase immediately. If this assumption is wrong, so much the better. (Would you agree with this, Ken?) We may be miscommunicating. I was talking about the right way to do this eventually. We certainly are not at the point of doing it now. 1. The Guile reader doesn't directly handle all Elisp syntax -- e.g. [ ] for vectors and ? for character/integers. 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? 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. 3. There's no byte code interpreter. I don't think we need to support the Emacs Lisp byte code interpreter if we have some equally efficient or more efficient way to run an Emacs Lisp program. Source compatibility is the important kind of compatibility here. 4. There are special forms that I haven't implemented (e.g. condition-case) and several data types (e.g. buffers, char tables); but these are all really in the same category as primitives, so no big deal. condition-case needs to be handled; that is a language construct, not an editing primitive. The functions that operate on buffers would be implemented by C code, the same as now, so they are not part of the scope of implementing the Emacs Lisp language. However, the issue of the data representation to use for them is a significant one.