From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Thien-Thi Nguyen Newsgroups: gmane.emacs.devel Subject: Re: Why do we spend time on Emacs on Guile? Date: Sat, 17 Aug 2002 19:28:49 -0400 Sender: emacs-devel-admin@gnu.org Message-ID: References: <5xk7mrywnt.fsf_-_@kfs2.cua.dk> <20020817.004600.120443800.wl@gnu.org> Reply-To: ttn@glug.org NNTP-Posting-Host: localhost.gmane.org X-Trace: main.gmane.org 1029626894 15830 127.0.0.1 (17 Aug 2002 23:28:14 GMT) X-Complaints-To: usenet@main.gmane.org NNTP-Posting-Date: Sat, 17 Aug 2002 23:28:14 +0000 (UTC) Cc: storm@cua.dk, emacs-devel@gnu.org, gerd.moellmann@t-online.de Return-path: Original-Received: from quimby.gnus.org ([80.91.224.244]) by main.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 17gCzL-00047B-00 for ; Sun, 18 Aug 2002 01:28:11 +0200 Original-Received: from monty-python.gnu.org ([199.232.76.173]) by quimby.gnus.org with esmtp (Exim 3.12 #1 (Debian)) id 17gDQ1-0000UM-00 for ; Sun, 18 Aug 2002 01:55:45 +0200 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.10) id 17gD0M-0001N8-00; Sat, 17 Aug 2002 19:29:14 -0400 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.10) id 17gD05-0001L1-00 for emacs-devel@gnu.org; Sat, 17 Aug 2002 19:28:57 -0400 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.10) id 17gD02-0001Kn-00 for emacs-devel@gnu.org; Sat, 17 Aug 2002 19:28:56 -0400 Original-Received: from colo.agora-net.com ([207.245.84.69]) by monty-python.gnu.org with esmtp (Exim 4.10) id 17gD00-0001KT-00; Sat, 17 Aug 2002 19:28:52 -0400 Original-Received: from ttn by colo.agora-net.com with local (Exim 3.34 #1) id 17gCzx-0001Pc-00; Sat, 17 Aug 2002 19:28:49 -0400 Original-To: wl@gnu.org In-Reply-To: <20020817.004600.120443800.wl@gnu.org> (message from Werner LEMBERG on Sat, 17 Aug 2002 00:46:00 +0200 (CEST)) 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:6611 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:6611 From: Werner LEMBERG Date: Sat, 17 Aug 2002 00:46:00 +0200 (CEST) LilyPond, a music typesetting program (www.lilypond.org), uses Guile. While following the development of LilyPond I see that Guile itself isn't a stable target yet: It simply happens too often that the authors of LilyPond have to add some glue code to make it work with different versions of Guile. i've spewed greatly on the guile lists wrt compatibility in general (not just for lilypond) w/o much success in curtailing that recklessness, so i won't say much more than, yeah, that's a problem. but it's not my problem (anymore) since i've grabbed the good stuff from the guile HEAD and have incorporated it into a 1.4.x maintenance effort w/ the goals specifically being compatibility and stability for client apps. my daily inspiration is aisleriot (the "spider" variant) which is a lot of fun to play on a graphical display, and which links against libguile. i feel that breaking that game would be a poor way to show my appreciation. in any case, guile symbols already have extra slots for function and plists -- actually that would be "msymbols" (from libguile/symbols.h): /* SCM_LENGTH(SYM) is the length of SYM's name in characters, and SCM_CHARS(SYM) is the address of the first character of SYM's name. Beyond that, there are two kinds of symbols: ssymbols and msymbols, distinguished by the 'S' bit in the type. Ssymbols are just uniquified strings. They have a length, chars, and that's it. They use the scm_tc7_ssymbol tag (S bit clear). Msymbols are symbols with extra slots. These slots hold a property list and a function value (for Emacs Lisp compatibility), and a hash code. They use the scm_tc7_msymbol tag. [...] */ the module system uses the aforementioned "variable" construct for bindings but there's no reason it couldn't be made to also recognize and use msymbols. perhaps someone can explain why this existing support should be ignored. thi