From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Daniel Ridge Newsgroups: gmane.lisp.guile.user Subject: Re: the future of Guile Date: Wed, 5 Dec 2007 11:18:00 -0500 Message-ID: <04074839-4555-426E-BC6F-C1AA19C7B872@mac.com> References: <55019.45189.qm@web37912.mail.mud.yahoo.com> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (iPhone Mail 3A109a) Content-Type: text/plain; charset=US-ASCII; format=flowed; delsp=yes Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1196871515 2612 80.91.229.12 (5 Dec 2007 16:18:35 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 5 Dec 2007 16:18:35 +0000 (UTC) Cc: guile-user To: Mike Gran Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Wed Dec 05 17:18:44 2007 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1IzwxI-0002uI-4G for guile-user@m.gmane.org; Wed, 05 Dec 2007 17:18:36 +0100 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Izwx1-00050C-3g for guile-user@m.gmane.org; Wed, 05 Dec 2007 11:18:19 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Izwwu-0004xy-IK for guile-user@gnu.org; Wed, 05 Dec 2007 11:18:12 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Izwwt-0004vj-8z for guile-user@gnu.org; Wed, 05 Dec 2007 11:18:11 -0500 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Izwws-0004vY-Rt for guile-user@gnu.org; Wed, 05 Dec 2007 11:18:10 -0500 Original-Received: from smtpoutm.mac.com ([17.148.16.69]) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Izwws-0004TB-8m for guile-user@gnu.org; Wed, 05 Dec 2007 11:18:10 -0500 Original-Received: from mac.com (asmtp004-s [10.150.69.67]) by smtpoutm.mac.com (Xserve/smtpout006/MantshX 4.0) with ESMTP id lB5GI9Xq006446; Wed, 5 Dec 2007 08:18:09 -0800 (PST) Original-Received: from [10.190.141.210] (m6d5e36d0.tmodns.net [208.54.94.109]) (authenticated bits=0) by mac.com (Xserve/asmtp004/MantshX 4.0) with ESMTP id lB5GI3VU014756; Wed, 5 Dec 2007 08:18:05 -0800 (PST) In-Reply-To: <55019.45189.qm@web37912.mail.mud.yahoo.com> X-Mailer: iPhone Mail (3A109a) X-detected-kernel: by monty-python.gnu.org: FreeBSD 4.8-5.1 (or MacOS X 10.2-10.3) X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:6336 Archived-At: On mike's question about the natural analog of the jar file, I find that one of the big binary distribution hurdles for guile code has been static paths baked everywhere. Static, absolute paths get baked into libtool .la files when the underlying platform does not necessarily require it. Guile itself contributes to this relocatability problem with the way guile-config uses %guile-build-info,%library-dir,%package-data-dir,% site-dir. I use guile as an extension language in all of my codes. In almost every case I need to build guile alongside my application. Guile's relocatability problems become my own. I hack boot-9.scm to prefer a prefix from the environment to the one baked into % guile-build-info. My programs are typically wrapped with a shell script that figures out where they live and updates LD_LIBRARY_PATH and the prefix for guile and execs the prog. When I use guile to load shared objects, I'm not demonstrating a preference for Scheme hacking vs extension hacking, as some would claim. Instead, I'm using it as as as 'extension linker' that grabs code needed by my underlying application. Guile often just marshalls args from C through Scheme back to C. Along the way, many calls become transparent RPCs. Guile is absolutely excellent at this. In many cases, I use guile to marshall args to RPCs evaluated in other Scheme runtimes that play less well with C. With the elimination of just a couple of these problems, guile and guile extended apps run quite nicely from live CDs, loopback mounted disk images, and even Apple's relocatable application bundles. On Dec 5, 2007, at 10:40, Mike Gran wrote: > > >> On Wed, 2007-12-05 at 10:01 +0100, Marco Maggi wrote: > >>> Pre-answer to all: the most important thing is to make clear >>> what are the priorities. With a "language for extensions" >>> (LFE) there are certain priorities, with a "Scheme >>> implementation" (SI) there are others. I fear that if no >>> choice is made Guile will be wiped out by other Schemes. > > As far as being an LFE, 1.8.x has been a big improvement over 1.6. > The API is much cleaner when wrapping stuff by hand. > >> From: Roland Orre > >> Today, however, I find that there are nearly no extension >> libraries available for guile. As a shell scripting language >> I prefer python because it has a very simple and clean >> shell interface. To extend my applications beyond real number >> crunching with e.g. graphical interphases (currently working >> with xlib...) I feel a limitation and have more and more often >> looked upon python where a lot of libraries are available for >> GUI, database and you name it. > > One problem here is that there does need to be a richer library > that is official and downloadable right from > www.gnu.org/software/guile. Unit test, documentation, > cgi, http, sql, md5, utf8, xml, and perhaps pickle. > > Much has been done (GEE, Guile-lib, guile-gtk, all of TTN), > but, each has its own packaging scheme, documentation > scheme. None of them are released in a coordinated manner > with the Guile releases themselves. > > This goes back to the packaging problem. After I've written a > program, > I'd like to give it away for others to use. Giving code away in a > scripting > language should be easy. It isn't easy here. > > First, dependencies on the many libraries are > difficult to coordinate. > > Second, most non-trivial scripts require the whole of the configure, > make, make install, LD_LIBRARY_PATH, %load-path overhead. > > Where is the analog of a Java jar file? > > Apologies if my rant has drifted off topic. > > Thanks, > > Mike Gran > > > > > > > _______________________________________________ > Guile-user mailing list > Guile-user@gnu.org > http://lists.gnu.org/mailman/listinfo/guile-user _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://lists.gnu.org/mailman/listinfo/guile-user