From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Ken Raeburn Newsgroups: gmane.lisp.guile.devel Subject: Re: ELisp? Date: Sat, 12 Nov 2011 19:56:31 -0500 Message-ID: <4D2381E8-435D-4BBB-8D9B-FFD290E1F4E5@raeburn.org> References: <8384F5A2-FD71-43D0-8497-59A542D0B6A5@raeburn.org> <35C54F61-5144-4C54-808C-4A430F81D8D8@raeburn.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1321145806 27414 80.91.229.12 (13 Nov 2011 00:56:46 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sun, 13 Nov 2011 00:56:46 +0000 (UTC) Cc: guile-devel@gnu.org To: joakim@verona.se Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Sun Nov 13 01:56:42 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 1RPONF-0004PA-FF for guile-devel@m.gmane.org; Sun, 13 Nov 2011 01:56:41 +0100 Original-Received: from localhost ([::1]:35852 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RPONE-0002vz-TQ for guile-devel@m.gmane.org; Sat, 12 Nov 2011 19:56:40 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:39794) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RPONC-0002ve-7z for guile-devel@gnu.org; Sat, 12 Nov 2011 19:56:39 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RPONA-0008Gb-W2 for guile-devel@gnu.org; Sat, 12 Nov 2011 19:56:38 -0500 Original-Received: from mail-iy0-f169.google.com ([209.85.210.169]:41297) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RPONA-0008GX-SL for guile-devel@gnu.org; Sat, 12 Nov 2011 19:56:36 -0500 Original-Received: by iaek3 with SMTP id k3so3809039iae.0 for ; Sat, 12 Nov 2011 16:56:35 -0800 (PST) Original-Received: by 10.50.197.227 with SMTP id ix3mr19098825igc.51.1321145794185; Sat, 12 Nov 2011 16:56:34 -0800 (PST) Original-Received: from squish.raeburn.org (c-66-31-202-94.hsd1.ma.comcast.net. [66.31.202.94]) by mx.google.com with ESMTPS id ai7sm4259210igc.0.2011.11.12.16.56.32 (version=TLSv1/SSLv3 cipher=OTHER); Sat, 12 Nov 2011 16:56:33 -0800 (PST) In-Reply-To: X-Mailer: Apple Mail (2.1084) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.210.169 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:12890 Archived-At: On Nov 12, 2011, at 10:00, joakim@verona.se wrote: >> Hmm... this touches on a political issue I'd been avoiding thinking = about. Namely, adding Guile to Emacs, with Guile's new FFI support, = would make dynamically loading new executable code into Emacs easy, = technically, including non-GPL code written specifically to extend = Emacs. There's been a lot of resistance to that in the past. See for = example = http://lists.gnu.org/archive/html/emacs-devel/2003-07/msg00403.html . >=20 > Yes, this seems to have been resolved if the GCC scheme for = identifying > GPL libraries is used. Basically GPL libraries expose a symbol = declaring GPL compliance. The Linux kernel has a method for dealing with this issue too. As I = understand it, a module declares its license terms, and if they're not = GPL, you get a smaller subset of kernel functionality you can access = from the module, though you can still load it. But the Emacs FFI case is different. Those other modules would have to = be written specifically *for* GCC or Linux and licensed appropriately, = and with an Emacs FFI we'd want to be able to load, for example, = MIT-licensed widget libraries that have other uses not specific to = Emacs. We can't expect all other libraries anyone might want to use to = tweak their sources to declare GPL compatibility. Then there's the question of someday doing static compilation of Guile = code to machine code. Can I load a .o or .so of my own Lisp code = without it being GPL-licensed or at least GPL-compatible? *sigh* I don't know, I'd rather let RMS and the lawyers worry about it. >> On the technical side (ignoring the political/legal angles), I wonder = if it would be quicker to drop FFI support into Emacs directly, using an = interface based on the Guile one, and use that for now, until the = Emacs+Guile work is far enough along to merge. I suspect your xwidgets = code would be ready for integration much sooner than that. :-) >=20 > Quicker, yes, but less interesting. I suppose I'm looking for an = excuse > to do this :) Ah, that works for me. My excuse was wanting to do things with Emacs = while Gnus was collecting data from mail and news servers, using Guile's = thread support rather than rewriting all of Gnus to be callback-driven. = :-) Ken=