From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Hans Aberg Newsgroups: gmane.lisp.guile.user Subject: Re: Using guile as an extension language for GNU make Date: Wed, 21 Sep 2011 10:24:44 +0200 Message-ID: <833DDD3E-6D04-46D6-A021-6AFF0B4E87B7@telia.com> References: <1316304616.28907.118.camel@homebase> <87wrd5x404.fsf@ambire.localdomain> <1316374080.28907.163.camel@homebase> <87sjntwf29.fsf@ambire.localdomain> <1316445274.28907.174.camel@homebase> <6D40BC91-6E4B-4799-BE29-BD2FF6EEEB84@telia.com> <1316469386.27584.30.camel@psmith-ubeta> <87r53aty3s.fsf@yeeloong.netris.org> NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: quoted-printable X-Trace: dough.gmane.org 1316593525 21430 80.91.229.12 (21 Sep 2011 08:25:25 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Wed, 21 Sep 2011 08:25:25 +0000 (UTC) Cc: guile-user@gnu.org, Thien-Thi Nguyen To: Mark H Weaver Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Wed Sep 21 10:25:21 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 1R6I7N-0006ix-0h for guile-user@m.gmane.org; Wed, 21 Sep 2011 10:25:21 +0200 Original-Received: from localhost ([::1]:56569 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6I7M-00066F-GL for guile-user@m.gmane.org; Wed, 21 Sep 2011 04:25:20 -0400 Original-Received: from eggs.gnu.org ([140.186.70.92]:54893) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6I7A-0005RF-2Y for guile-user@gnu.org; Wed, 21 Sep 2011 04:25:13 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1R6I78-0004ty-PV for guile-user@gnu.org; Wed, 21 Sep 2011 04:25:08 -0400 Original-Received: from smtp-out12.han.skanova.net ([195.67.226.212]:59382) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1R6I73-0004rG-6p; Wed, 21 Sep 2011 04:25:01 -0400 Original-Received: from [10.0.1.2] (217.210.127.13) by smtp-out12.han.skanova.net (8.5.133) (authenticated as u26619196) id 4DF89E7F015AA79C; Wed, 21 Sep 2011 10:24:46 +0200 In-Reply-To: <87r53aty3s.fsf@yeeloong.netris.org> X-Mailer: Apple Mail (2.1084) X-detected-operating-system: by eggs.gnu.org: Genre and OS details not recognized. X-Received-From: 195.67.226.212 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:8822 Archived-At: On 21 Sep 2011, at 04:42, Mark H Weaver wrote: >> And finally, currently I have all unknown types expanding to the = empty >> string but now I'm thinking it would be better to start out more >> restrictive and throw errors. This would ensure that people write = their >> Guile scripts correctly (giving valid return values) from the start, = and >> would let me, in the future, expand the supported types without = breaking >> anything. >=20 > I agree wholeheartedly. If you are too permissive, it may cause > programming errors to go unnoticed. It's better to limit the = automatic > conversions to common cases that are clearly useful. The other cases > can be handled easily from Scheme. >=20 > As for the suggestion to look at the pretty-printing library: I don't > see why that would be useful. The purpose of that library is = primarily > to intelligently choose where to insert newlines in nested list > structure, so that lines don't grow too long for the terminal display, > and to add indentation as would be found in typical Scheme source = code. > It seems to me that these functions are undesirable for this purpose. What I had in my mind is a more general "pretty-printing" object, which = can override normal printing. For each object, one should be able define = new printing. Perhaps Guile would need to have some kind of extension to = achieve that. Hans