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: Trying guile as an extention language for a 'real world' product Date: Sat, 3 Jul 2010 15:31:12 -0500 Message-ID: References: <20100703053651.GA13073@yeeloong> 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 1278189103 18732 80.91.229.12 (3 Jul 2010 20:31:43 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Sat, 3 Jul 2010 20:31:43 +0000 (UTC) Cc: guile-user To: rixed@happyleptic.org Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Sat Jul 03 22:31:42 2010 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.69) (envelope-from ) id 1OV9NF-0006Pv-D1 for guile-user@m.gmane.org; Sat, 03 Jul 2010 22:31:41 +0200 Original-Received: from localhost ([127.0.0.1]:59305 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OV9NE-0007iS-QF for guile-user@m.gmane.org; Sat, 03 Jul 2010 16:31:40 -0400 Original-Received: from [140.186.70.92] (port=39611 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OV9N8-0007ht-Qd for guile-user@gnu.org; Sat, 03 Jul 2010 16:31:35 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OV9N7-0000om-GO for guile-user@gnu.org; Sat, 03 Jul 2010 16:31:34 -0400 Original-Received: from mail-gy0-f169.google.com ([209.85.160.169]:43832) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OV9N7-0000oY-E7 for guile-user@gnu.org; Sat, 03 Jul 2010 16:31:33 -0400 Original-Received: by gyf1 with SMTP id 1so2827526gyf.0 for ; Sat, 03 Jul 2010 13:31:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:mime-version:received:reply-to :in-reply-to:references:from:date:message-id:subject:to:cc :content-type; bh=ec10fHIF95lKsMJe/0vo1/XaiCDRE+qCiJykxU2I1l0=; b=Bn3xyHIOvBK53J0fzjMdLHOnnUGHNl2YL414VLi+RpAHHDq6fk7921I62BRQayLEas ZglaL+/FmxBEsGamKFigj+EUK4IH0YtS9Ub+C/S3Tvcw5Mm4Pyg46E8VbO/4GWpj2WjM wH637DCEhb+yJs8VQz/kiAvYQRJEz6nVayS8w= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:reply-to:in-reply-to:references:from:date:message-id :subject:to:cc:content-type; b=W2FETSXf43YsyI5Diba9JDXtdWl10XRrmATdnJj6Ekjvxxyo/RXPMRHIGeOxFNZlb7 cSjke4C1hLuWyMYDd42JewccapLgzUn16QAdP9SCszqC8/8oXRY1toidzvd4DiCry6TI phKarYdTiIGhHSeIyHIhgumNUP6vPCw/QZ3E8= Original-Received: by 10.100.242.16 with SMTP id p16mr809730anh.210.1278189092262; Sat, 03 Jul 2010 13:31:32 -0700 (PDT) Original-Received: by 10.100.92.6 with HTTP; Sat, 3 Jul 2010 13:31:12 -0700 (PDT) In-Reply-To: <20100703053651.GA13073@yeeloong> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6 (newer, 2) 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:7951 Archived-At: On 3 July 2010 00:36, wrote: > Hi list ! > > At work, I recently pushed the idea to use an extention language for our > main product, which is a middle sized program written in C with many > threads, that must run quickly without without interruption 24/7, and > that have little memory nor CPU to spare. [...] > The first usage for this extention language would be to replace the > various configuration system with a simpler and more powerfull interface > from scheme to C configuration datas. But I just came across Andy's > slides for ghm 2009, where he says that guile is "not so much for config > files (days of fvwmrc long gone)". > > What does he mean by that ? Are there any contraindication against using > guile as an extention language for configuration ? I dunno quite what he meant, except perhaps to notice that there are now a (large?) variety of open-source packages that support configuration. So, for example, there's gnome's gconf, which has many advanced features, e.g. allows you to define a system-wide default config, which individual users can over-ride; you can define allowed config paramters (i.e. specify allowed ranges, values, etc), there are some generic graphical tools for exploring/ editing these, and the C api is nearly trivial to use. etc. Its hard to compete with that. I don't recall if gconf is GPL or LGPL. gconf is C, but I presume that KDE has some C++ variant; and there are probably others. Personally, I have found guile best-suited for "rapid proto-typing" i.e. coding up funky algos to drive various components in certain ways. Although "proto-typing" is a misnomer; I have no intent of ever re-writing the good algos in C. If anything, the opposite is true: I'm very very slowly converting large, bulky, clunky C code into small and fast guile code. --linas