* [ANN] Guile-DSV 0.2.0 released
@ 2015-04-16 5:40 Artyom Poptsov
0 siblings, 0 replies; only message in thread
From: Artyom Poptsov @ 2015-04-16 5:40 UTC (permalink / raw)
To: Guile Users' Mailing List
[-- 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 --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2015-04-16 5:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-04-16 5:40 [ANN] Guile-DSV 0.2.0 released Artyom Poptsov
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).