From: Artyom Poptsov <poptsov.artyom@gmail.com>
To: Guile Users' Mailing List <guile-user@gnu.org>
Subject: [ANN] Guile-DSV 0.2.0 released
Date: Thu, 16 Apr 2015 08:40:51 +0300 [thread overview]
Message-ID: <877ftck4v0.fsf@elephant.savannah> (raw)
[-- Attachment #1: Type: text/plain, Size: 3286 bytes --]
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.artyom@gmail.com>; GPG Key: 0898A02F
Home page: http://poptsov-artyom.narod.ru/
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]
reply other threads:[~2015-04-16 5:40 UTC|newest]
Thread overview: [no followups] expand[flat|nested] mbox.gz Atom feed
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=877ftck4v0.fsf@elephant.savannah \
--to=poptsov.artyom@gmail.com \
--cc=guile-user@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).