guile-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] guile-file-names 0.1, a file-name abstraction module


From: Brandon Invergo
Subject: [ANN] guile-file-names 0.1, a file-name abstraction module
Date: Thu, 09 May 2019 10:35:46 +0100
User-agent: mu4e 1.2.0; emacs 26.2

I'm happy to announce the first release of guile-file-names, a file-name
abstraction module for Guile.

The (file-names) module provides methods for manipulating file names
(aka file paths, but for GNU Coding Standards reasons, the module
doesn't refer to "paths"[1]).  The module was built based on the idea that
doing anything more than a non-trivial modification of a file name
string is a pain (making sure all slashes are present and accounted for,
resolving '.' and '..', etc).  Inevitably, you have to break the string
up into chunks and operate on that list of components.  This module
takes care of that for you.

Theoretically, (file-names) should also make handling file names more
portable between POSIX and Windows/Cygwin, however I don't have access
to a Windows machine to test that assertion.  Help in this regard would
be appreciated.

The module takes an object-oriented approach via GOOPS.  This lets us
extend Guile primitive procedures to specialize on <file-name> objects.
Thus, all of the POSIX file-system procedures[2] now also can accept
<file-name> instances in addition to the default stringy file names.

Documentation is provided in an Info manual.

You can download guile-file-names 0.1 here:
http://brandon.invergo.net/software/download/guile-file-names/guile-file-names-0.1.tar.gz
http://brandon.invergo.net/software/download/guile-file-names/guile-file-names-0.1.tar.gz.sig

Development happens on Gitlab:
https://gitlab.com/brandoninvergo/guile-file-names

Contributions in the form of testing, bug reports, feature requests and
patches/pull requests are welcome!  The ultimate goal would be to have
the module merged upstream or into guile-lib once everyone agrees that
it's ready.

--
-brandon

Footnotes:
[1]  https://www.gnu.org/prep/standards/html_node/GNU-Manuals.html#GNU-Manuals
[2]  
https://www.gnu.org/software/guile/manual/html_node/File-System.html#File-System



reply via email to

[Prev in Thread] Current Thread [Next in Thread]