guile-user
[Top][All Lists]
Advanced

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

[ANN] Guile-DSV 0.2.0 released


From: Artyom Poptsov
Subject: [ANN] Guile-DSV 0.2.0 released
Date: Thu, 16 Apr 2015 08:40:51 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux)

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 <address@hidden>;  GPG Key: 0898A02F
Home page: http://poptsov-artyom.narod.ru/

Attachment: signature.asc
Description: PGP signature


reply via email to

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