From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Linas Vepstas Newsgroups: gmane.lisp.guile.user Subject: Re: guile user base Date: Mon, 28 Nov 2011 10:03:38 -0600 Message-ID: References: <20111123233913.GA7011@shuttle.happyleptic.org> <20111128094231.GA20529@ccellier.rd.securactive.lan> Reply-To: linasvepstas@gmail.com NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-Trace: dough.gmane.org 1322496264 29048 80.91.229.12 (28 Nov 2011 16:04:24 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Mon, 28 Nov 2011 16:04:24 +0000 (UTC) To: rixed@happyleptic.org, guile-user@gnu.org, anton.vidovic@gmx.de Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Nov 28 17:04:19 2011 Return-path: Envelope-to: guile-user@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 1RV3go-0006gb-OR for guile-user@m.gmane.org; Mon, 28 Nov 2011 17:04:18 +0100 Original-Received: from localhost ([::1]:60408 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RV3go-0007b5-8u for guile-user@m.gmane.org; Mon, 28 Nov 2011 11:04:18 -0500 Original-Received: from eggs.gnu.org ([140.186.70.92]:46228) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RV3gf-0007ab-Ku for guile-user@gnu.org; Mon, 28 Nov 2011 11:04:15 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1RV3gZ-0001oF-RX for guile-user@gnu.org; Mon, 28 Nov 2011 11:04:09 -0500 Original-Received: from mail-bw0-f41.google.com ([209.85.214.41]:49712) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1RV3gZ-0001o8-KU for guile-user@gnu.org; Mon, 28 Nov 2011 11:04:03 -0500 Original-Received: by bke17 with SMTP id 17so9847861bke.0 for ; Mon, 28 Nov 2011 08:04:02 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:content-type; bh=mv2DEM6/5cO8yE3fWvC1pnM+jaWDxilgrRDCbluA+b0=; b=RaMcPEfQjXFcdvXP9iG/h6DUbKHsNzUedeloily8TKBJSl9hLxjWTIcIaZZL5yIEqK +jVUp0KdnVxvLFBFr+wZY2LhJyJ57aTjEzegJsBYZs+1i6zTYp+iMRaEnWJUJCd4Bjmi 0eooZDG+1GOC2O4FGvhRMyKCplQBTHKXmRw+c= Original-Received: by 10.205.133.16 with SMTP id hw16mr44830954bkc.128.1322496242594; Mon, 28 Nov 2011 08:04:02 -0800 (PST) Original-Received: by 10.223.85.197 with HTTP; Mon, 28 Nov 2011 08:03:38 -0800 (PST) In-Reply-To: <20111128094231.GA20529@ccellier.rd.securactive.lan> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) X-Received-From: 209.85.214.41 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:9010 Archived-At: On 28 November 2011 03:42, wrote: > > - but > that's not my intent for many reasons (mostly, I think guile is more > useful as a free software extension tool than as a general programming > learning tool, but this is of topic). Well, not really. People get involved in stages, steps, ladders. For example, someone might want to modify some part of gnucash in some way. Maybe a few lines of scheme will do. This step taken, the doors now open to a deeper understanding of guile. Each of these doors in turn lead to others. At some point, the casual user becomes an active member of the community. So: I think gnucash represents a non-trivial example of guile as an extension language. I think it would be excellent if there were tutorials for how to actually extend gnucash, using guile. As far as I know, none exist. Ditto lillypond, geda, or aisleriot, if accounting is not your bag. I mean: what's the point of an extension language if no one knows how to use it to extend anything? This is where the code should be laid bare: its hard to screw with it when its cloaked by the app. What are extension best practices? What paradigm/api/style can can a guile programmer expect all guile-using apps to provide? Some standardized, easy, obvious way to extend an app, in a fashion that works more or less the same way for all apps? All this info is missing. --linas