From mboxrd@z Thu Jan 1 00:00:00 1970 Path: main.gmane.org!not-for-mail From: Bruce Korb Newsgroups: gmane.lisp.guile.user Subject: Re: Guile/Scheme development Date: Mon, 22 Dec 2003 12:08:54 -0800 Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Message-ID: <3FE74F56.57470DF1@veritas.com> References: <3FE5D297.2030907@ogopogo.biz> Reply-To: bkorb@veritas.com NNTP-Posting-Host: deer.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: sea.gmane.org 1072123892 7524 80.91.224.253 (22 Dec 2003 20:11:32 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Mon, 22 Dec 2003 20:11:32 +0000 (UTC) Cc: Guile user mailing list Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Mon Dec 22 21:11:28 2003 Return-path: Original-Received: from monty-python.gnu.org ([199.232.76.173]) by deer.gmane.org with esmtp (Exim 3.35 #1 (Debian)) id 1AYWOl-0001QN-00 for ; Mon, 22 Dec 2003 21:11:27 +0100 Original-Received: from localhost ([127.0.0.1] helo=monty-python.gnu.org) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AYXKr-0003om-Jt for guile-user@m.gmane.org; Mon, 22 Dec 2003 16:11:29 -0500 Original-Received: from list by monty-python.gnu.org with tmda-scanned (Exim 4.24) id 1AYXKR-0003oQ-4h for guile-user@gnu.org; Mon, 22 Dec 2003 16:11:03 -0500 Original-Received: from mail by monty-python.gnu.org with spam-scanned (Exim 4.24) id 1AYXJv-0003WS-Hd for guile-user@gnu.org; Mon, 22 Dec 2003 16:11:02 -0500 Original-Received: from [143.127.3.10] (helo=MTVMIME02.enterprise.veritas.com) by monty-python.gnu.org with esmtp (Exim 4.24) id 1AYXJu-0003Oj-JX for guile-user@gnu.org; Mon, 22 Dec 2003 16:10:30 -0500 Original-Received: from megami (unverified) by MTVMIME02.enterprise.veritas.com (Content Technologies SMTPRS 4.3.12) with SMTP id ; Mon, 22 Dec 2003 12:08:57 -0800 Original-Received: from veritas.com (ellen.veritas.com[10.180.88.137]) (3610 bytes) by megami via sendmail with P:esmtp/R:smart_host/T:smtp (sender: ) id for ; Mon, 22 Dec 2003 12:08:57 -0800 (PST) (Smail-3.2.0.101 1997-Dec-17 #15 built 2001-Aug-30) X-Mailer: Mozilla 4.8 [en] (X11; U; SunOS 5.8 sun4u) X-Accept-Language: en Original-To: Brian S McQueen X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.2 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 Xref: main.gmane.org gmane.lisp.guile.user:2475 X-Report-Spam: http://spam.gmane.org/gmane.lisp.guile.user:2475 Brian S McQueen wrote: > > I thought I would mention how I am currently using Guile, and mention a > Guile project I would like to undertake over the next year. I think this > is appropriate because there are probably many, like myself, who have > found Guile very useful and are putting it to work, though they may not > have any involvement with the Guile community. Folks in this category are > hoping or assuming someone else is maintaining or advancing the core > libguile technology, because it is a great tool. We can't all be masters > of the libguile core. > > If we want Guile to suceed we have to put it to work. An excellent example > of a guy who is really putting this technology to work is Bruce Korb, > creator of Autogen http://www.gnu.org/software/autogen/). From his web > site you can see he is very productive. Either very productive, or he's been plugging away at it for a really long time. > Recently I revised all the CGI's on my company's web site by adding Guile > (linking in libguile). I was able to remove all logic from the CGIs, > leaving them as a batch of C functions, the order and operation of which > is specified by external config files written entirely in Scheme. Now the > CGIs are very adjustable, but the core is still a batch of high > performance C executables. > > I also entirely separated the UI of the web site from the logic via Guile. > The CGIs actually produce only name=value pairs as output. This output is > then put into Bruce's tool to produce the output html. This tool I must > recommend to you all. Thanks. :-) > The future project I would like to undertake in the next year is to > produce a version of Autogen which will run as a Server, listening for > connections, accepting data from clients and returning fully interpolated > templates. There are a few different approaches. I haven't decided which > way to get there yet. I think you'll find the simplest would be to fork off a child process to do the work. Any other approach will have one of two problems: 1. memory leaks. Names of things sometimes get allocated and sometimes are passed in and sometimes come from template or definition sources. Since these were generally kept until template processing was complete and the program then exited, I did little to keep track of which needed deallocation. 2. A development headache of finding and tracking all these little allocations. This might be accomplished with wrappers around the collection of allocation and deallocation routines, but chasing all that stuff down doesn't look like a pleasant task to me. Even less pleasant if there are some allocations that really do need to be permanent. All in all, I'd say just fork a child and let process management clean up. _______________________________________________ Guile-user mailing list Guile-user@gnu.org http://mail.gnu.org/mailman/listinfo/guile-user