From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.devel Subject: Re: My Guile TODO list Date: Fri, 09 Mar 2012 14:07:22 -0500 Message-ID: <87eht1sidx.fsf@netris.org> References: <87zkbsur0l.fsf@netris.org> <87y5rcdovl.fsf@gnu.org> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1331320183 4307 80.91.229.3 (9 Mar 2012 19:09:43 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 9 Mar 2012 19:09:43 +0000 (UTC) Cc: guile-devel@gnu.org To: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) Original-X-From: guile-devel-bounces+guile-devel=m.gmane.org@gnu.org Fri Mar 09 20:09:42 2012 Return-path: Envelope-to: guile-devel@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1S65C9-0001ql-98 for guile-devel@m.gmane.org; Fri, 09 Mar 2012 20:09:41 +0100 Original-Received: from localhost ([::1]:54884 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S65C8-00022j-Ce for guile-devel@m.gmane.org; Fri, 09 Mar 2012 14:09:40 -0500 Original-Received: from eggs.gnu.org ([208.118.235.92]:56367) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S65C5-00022T-Kl for guile-devel@gnu.org; Fri, 09 Mar 2012 14:09:38 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1S65C3-0000qj-EO for guile-devel@gnu.org; Fri, 09 Mar 2012 14:09:37 -0500 Original-Received: from world.peace.net ([96.39.62.75]:51477) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1S65C3-0000qd-9z; Fri, 09 Mar 2012 14:09:35 -0500 Original-Received: from 209-6-91-212.c3-0.smr-ubr1.sbo-smr.ma.cable.rcn.com ([209.6.91.212] helo=yeeloong) by world.peace.net with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.72) (envelope-from ) id 1S65Bu-0002iS-IC; Fri, 09 Mar 2012 14:09:26 -0500 In-Reply-To: <87y5rcdovl.fsf@gnu.org> ("Ludovic \=\?utf-8\?Q\?Court\=C3\=A8s\=22'\?\= \=\?utf-8\?Q\?s\?\= message of "Wed, 07 Mar 2012 23:31:42 +0100") User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 3) X-Received-From: 96.39.62.75 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:14071 Archived-At: Hi Ludovic, ludo@gnu.org (Ludovic Court=C3=A8s) writes: > Mark H Weaver skribis: > >> I occasionally talk about my large Guile TODO list, and sometimes people >> say that I should put it somewhere public. Okay, here it is (not >> including my ticked messages in Gnus). It includes some items that are >> probably controversial, especially near the end, > > Obviously I stopped reading here and hit C-M->. :-) LOL :) > I=E2=80=99ll just pick one item: > >> * FFI overhaul >> * Native code generation where possible, else generated C code > > For =E2=80=98pointer->procedure=E2=80=99, we could use GNU lightning to g= enerate subrs, > which would save us from the need to go through =E2=80=98foreign-call=E2= =80=99. If someone wants to work on this, I'd be glad, but personally I'm not interested in integrating GNU lightning. This TODO list item assumed that we'd first have our own native compiler, even though I forgot to put "native compiler" on the list. > This would make things equivalent to hand-written subrs in terms of > performance. I=E2=80=99m not sure it=E2=80=99s crucial, though. A faster FFI would enable us to use it for many more things, including for frequently-called procedures where performance is crucial (such as GMP or libunistring), but I think it can wait until we have our own native compiler. Thanks, Mark