From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: joakim@verona.se Newsgroups: gmane.lisp.guile.devel Subject: Re: ELisp? Date: Sun, 09 Oct 2011 15:37:42 +0200 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain X-Trace: dough.gmane.org 1318167488 16344 80.91.229.12 (9 Oct 2011 13:38:08 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 9 Oct 2011 13:38:08 +0000 (UTC) To: guile-devel@gnu.org Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun Oct 09 15:38:04 2011 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([140.186.70.17]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RCtZp-00083E-Qa for guile-devel@m.gmane.org; Sun, 09 Oct 2011 15:38:01 +0200 Original-Received: from localhost ([::1]:48902 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RCtZp-0007v0-61 for guile-devel@m.gmane.org; Sun, 09 Oct 2011 09:38:01 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:45053) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RCtZm-0007uk-MJ for guile-devel@gnu.org; Sun, 09 Oct 2011 09:37:59 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RCtZl-0006iW-Hf for guile-devel@gnu.org; Sun, 09 Oct 2011 09:37:58 -0400 Original-Received: from lo.gmane.org ([80.91.229.12]:57597) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RCtZl-0006iI-6u for guile-devel@gnu.org; Sun, 09 Oct 2011 09:37:57 -0400 Original-Received: from list by lo.gmane.org with local (Exim 4.69) (envelope-from ) id 1RCtZi-00080R-BZ for guile-devel@gnu.org; Sun, 09 Oct 2011 15:37:54 +0200 Original-Received: from h-235-102.a149.priv.bahnhof.se ([85.24.235.102]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 09 Oct 2011 15:37:54 +0200 Original-Received: from joakim by h-235-102.a149.priv.bahnhof.se with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Sun, 09 Oct 2011 15:37:54 +0200 X-Injected-Via-Gmane: http://gmane.org/ Original-Lines: 64 Original-X-Complaints-To: usenet@dough.gmane.org X-Gmane-NNTP-Posting-Host: h-235-102.a149.priv.bahnhof.se User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux) Cancel-Lock: sha1:rVDQQpEcLlvzcfNXFxjf6id+SCo= X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 80.91.229.12 X-BeenThere: guile-devel@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Developers list for Guile, the GNU extensibility library" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Original-Sender: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.devel:12829 Archived-At: Noah Lavine writes: > Hello all, > > Could anyone tell me the status of the ELisp implementation since July > 21st (the last update)? > > I'm especially interested now because of a thread on emacs-devel - > http://lists.gnu.org/archive/html/emacs-devel/2011-09/msg00753.html.People were talking about adding multithreading to Emacs. Some people > said that moving Emacs to Guile might be the best solution, but others > were pessimistic about that ever happening. It looks like the Emacs > people would really like to use Guile, and we would certainly like > them to. Also, every time Emacs implements a feature that Guile > already has, it's wasted effort when we eventually integrate them. > > It seems like Emacs-Guile integration is a project that is on the > verge of happening, and just needs some sort of push to get it over > the hump. I hope that this summer's SoC work can be the impetus. > > Noah > > I'm an Emacs developer(not the most prolific but I have contributed ImageMagick core integration and Webkit integration for Emacs 25) I'm now trying to learn non-trivial Guile usage so as to be useful in the future merge of Guile and Emacs. Currently, for me coming from the Emacs side is that I have no idea how integration would happen. I've studied the various attempts but haven't come to any conclusion. My naive approach would be to make an Emacs Guile branch on Savannah. The branch would unify incrementally the 3 different existing approaches: - Nishidas patches to run Guile in Emacs - Ken Raeburns patches to replace the Emacs Lisp engine - Templetons implementation of Elisp in Guile This branch would initially use Nishidas strategy of just linking Guile and providing some simple interoperability functions. The version linked would be Templetons Elisp Guile version. So, there would be 2 lisp engines in Emacs for a while. When things work well the old Emacs lisp engine would be ripped out. As I'm coming from the Emacs side of things my interest is in getting Guile in the Emacs core efficiently. My motivation is somewhat selfish because I don't want to re-implement all the interesting features Guile has in Emacs, such as dynamic FFI etc.. Of course there are many details to work out. A random example could be that we would like a cookie to indicate that eval-buffer should use guile rather than elisp for a buffer. The advantage of the above approach is that it is incremental. We gain exposure in the Emacs developer community. Since Emacs 24 is entering pretest its a good time to start to think of features for Emacs 25. -- Joakim Verona