Hello Guilers! I'm pleased to announce Guile-DSV 0.2.0 release: https://github.com/artyom-poptsov/guile-dsv/releases/tag/v0.2.0
A GPG-signed package for the release can be found here: ftp://memory-heap.org/software/guile-dsv/ Guile-DSV is a GNU Guile module for reading and writing of the DSV format. [1] There's bad news and good news related to this announcement: the bad news is that the Guile-DSV API was changed. The good news is that the API was changed for a purpose. With this release, Guile-DSV is now capable of reading and writing of RFC 4180 (CSV) format, [2] and the Unix reader/writer has got support of backslash escaped non-printable symbols and continuation of records by means of escaped newlines. Please see the documentation for the description of the API. Here an excerpt from the NEWS file: --8<---------------cut here---------------start------------->8--- * Changes in version 0.2.0 (2015-04-16) ** API change Procedures were renamed: - 'dsv-string->list' was renamed to 'dsv-string->scm'. - 'list->dsv-string' was renamed to 'scm->dsv-string'. - 'dsv-read' was renamed to 'dsv->scm'. - 'dsv-write' was renamed to 'scm->dsv'. Also see the procedure-specific changes below. ** Add RFC 4180 parser Procedures now accept optional keyed argument called 'format' that allows to switch between the Unix-style DSV format and the RFC 4180 (CSV) format. ** Unix parser now handles C-style backslash escapes as described in <http://www.catb.org/~esr/writings/taoup/html/ch05s02.html#id2901882> Specifically when the format is set to 'unix', 'dsv-string->scm' and 'dsv->scm' now ignore backslash-escaped newlines; also all the procedures handle escaped nonprintable characters properly. ** Procedures now throw 'dsv-parser-error' on an error ** 'dsv-string->scm' now returns a table The procedure now returns a table (a list of lists) in which every inlined list represents a row of the table. ** New 'set-debug!' procedure in (dsv) The procedure allows to enable or disable debugging traces. The debug mode is disabled by default. ** 'dsv-string->scm' and 'dsv->scm' now accept 'comment-prefix' 'comment-symbol' argument is renamed to 'commen-prefix' and expected to be a string instead of a char. ** 'scm->dsv' and 'scm->dsv-string' procedures add a line break The procedures now add a line break that is default for a specified format at the end of lines. ** 'guess-delimiter' in (dsv) now accepts an optional 'known-delimiters' argument The argument can be used to privide the procedure with the list of delimiters to test to. ** Documentation update Description of the API was updated and more usage examples was added. --8<---------------cut here---------------end--------------->8--- The project was started because of personal needs, but there's hope that it will be useful for other Guilers as well. Comments, suggestions and (of course) bug-reports are welcome. Thanks! - Artyom [1] https://en.wikipedia.org/wiki/Delimiter-separated_values [2] https://tools.ietf.org/html/rfc4180 -- Artyom V. Poptsov <poptsov.art...@gmail.com>; GPG Key: 0898A02F Home page: http://poptsov-artyom.narod.ru/
signature.asc
Description: PGP signature