Hi Brandon, Brandon Invergo <bran...@invergo.net> 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 <file-name> 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