unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Thien-Thi Nguyen <ttn@glug.org>
Cc: storm@cua.dk, emacs-devel@gnu.org, gerd.moellmann@t-online.de
Subject: Re: Why do we spend time on Emacs on Guile?
Date: Sat, 17 Aug 2002 19:28:49 -0400	[thread overview]
Message-ID: <E17gCzx-0001Pc-00@colo.agora-net.com> (raw)
In-Reply-To: <20020817.004600.120443800.wl@gnu.org> (message from Werner LEMBERG on Sat, 17 Aug 2002 00:46:00 +0200 (CEST))

   From: Werner LEMBERG <wl@gnu.org>
   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

  reply	other threads:[~2002-08-17 23:28 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <86y9b8awuv.fsf@gerd.free-bsd.org>
2002-08-16  9:34 ` Why do we spend time on Emacs on Guile? Kim F. Storm
2002-08-16 16:36   ` Thien-Thi Nguyen
2002-08-16 22:46     ` Werner LEMBERG
2002-08-17 23:28       ` Thien-Thi Nguyen [this message]
2002-08-16 16:52   ` D. Goel
2002-08-16 18:02   ` Sam Steingold
2002-08-17  4:50   ` Richard Stallman
2002-08-17 13:02     ` Sam Steingold
2002-08-23  7:02       ` Michael Sperber [Mr.  Preprocessor]

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=E17gCzx-0001Pc-00@colo.agora-net.com \
    --to=ttn@glug.org \
    --cc=emacs-devel@gnu.org \
    --cc=gerd.moellmann@t-online.de \
    --cc=storm@cua.dk \
    /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).