From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: Mark H Weaver Newsgroups: gmane.lisp.guile.user Subject: Re: [ANN] guile-file-names 0.2 Date: Thu, 16 May 2019 16:01:26 -0400 Message-ID: <87y336b232.fsf@netris.org> References: <87a7fmkbtv.fsf@invergo.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="184421"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/26.2 (gnu/linux) Cc: guile-user@gnu.org To: Brandon Invergo Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Thu May 16 22:03:44 2019 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hRMbQ-000lkj-DD for guile-user@m.gmane.org; Thu, 16 May 2019 22:03:44 +0200 Original-Received: from localhost ([127.0.0.1]:34672 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRMbJ-00027d-Iw for guile-user@m.gmane.org; Thu, 16 May 2019 16:03:37 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:59088) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hRMay-00027S-Bs for guile-user@gnu.org; Thu, 16 May 2019 16:03:17 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hRMax-000348-73 for guile-user@gnu.org; Thu, 16 May 2019 16:03:16 -0400 Original-Received: from world.peace.net ([64.112.178.59]:48658) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hRMax-00033I-3S for guile-user@gnu.org; Thu, 16 May 2019 16:03:15 -0400 Original-Received: from mhw by world.peace.net with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.89) (envelope-from ) id 1hRMav-0000SY-Nr; Thu, 16 May 2019 16:03:13 -0400 In-Reply-To: <87a7fmkbtv.fsf@invergo.net> (Brandon Invergo's message of "Thu, 16 May 2019 10:06:36 +0100") X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 64.112.178.59 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.lisp.guile.user:15480 Archived-At: Hi Brandon, Brandon Invergo writes: > I'm happy to announce the release of guile-file-names 0.2. > > The (file-names) module provides methods for manipulating file names. > Its design distinguishes between the human-friendly string format of > filenames ("/usr/bin/guile") and a more Scheme-friendly representation > to take out all the little nuisances of working with file names. > > This release sees bugs fixed, under-the-hood improvements, and new > features added. See below for an excerpt from the NEWS file. I see that you are using 'set!' to mutate several core bindings in the (guile) module to much slower GOOPS generic functions. For example, you 'set!' the core 'append' procedure to a GOOPS generic function that adds support for appending together your objects. If you must override core procedures, then please use #:export and #:replace in the 'define-module' form, and simply 'define' the new binding in your module instead of using 'set!'. That way, the bindings in (guile) will be left unchanged, and your new bindings will only be used in modules that import your module. I can understand your decision to overload Guile's primitives that accept file names. However, I disagree with your decision to overload 'append' and 'append!'. Those are not intended to be generic functions in Scheme. If they were, we wouldn't have 'string-append' and 'symbol-append'. Regards, Mark