From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Artyom Poptsov Newsgroups: gmane.lisp.guile.user Subject: [ANN] Guile-DSV 0.2.0 released Date: Thu, 16 Apr 2015 08:40:51 +0300 Message-ID: <877ftck4v0.fsf@elephant.savannah> NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" X-Trace: ger.gmane.org 1429162909 9509 80.91.229.3 (16 Apr 2015 05:41:49 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 16 Apr 2015 05:41:49 +0000 (UTC) To: Guile Users' Mailing List Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Thu Apr 16 07:41:37 2015 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YicYP-0001A1-QL for guile-user@m.gmane.org; Thu, 16 Apr 2015 07:41:33 +0200 Original-Received: from localhost ([::1]:35369 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YicYO-00014e-VK for guile-user@m.gmane.org; Thu, 16 Apr 2015 01:41:32 -0400 Original-Received: from eggs.gnu.org ([2001:4830:134:3::10]:36290) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YicYG-00010R-9m for guile-user@gnu.org; Thu, 16 Apr 2015 01:41:25 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YicYC-0002sj-Ij for guile-user@gnu.org; Thu, 16 Apr 2015 01:41:24 -0400 Original-Received: from mail-la0-x22e.google.com ([2a00:1450:4010:c03::22e]:33781) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YicYC-0002sf-3d for guile-user@gnu.org; Thu, 16 Apr 2015 01:41:20 -0400 Original-Received: by layy10 with SMTP id y10so48633503lay.0 for ; Wed, 15 Apr 2015 22:41:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=from:to:subject:date:message-id:user-agent:mime-version :content-type; bh=6cf7DUU31VZjAdoLLqAe2sE4jhPbnlH6bWump7bWhpQ=; b=NRbqHZArnvm/RlOwGL1vnf+7dXaWf+bBJ0lXWS41aM6w5h1BtGt5no1t49SBEaAv7p 6IQ+pbMmHA53N5s8ud2kYSnFr6BgSJPLvKU/L3AszSZAXDjuxvdUplh8ODIj3lVIn1Ju LbEsu/dPT+XvGL07UCpV548rAV8GQ7FNCJbAzhBmhQG7pQYTQnGMQqAe2PMChoLa5bqY rG4gMItKILVNS8aPdqgdI25sngU0G7vkVGH2pbCp/ZMvqQm+MbQNWQrjlx88bV4B9ZUD 3fZxBV+TgwPmXkFGhcCH4CIahUl+lOHNLRoT0AOtkvQXKUttjB/G6abrAzmNNaGEBJs9 dPlg== X-Received: by 10.152.198.200 with SMTP id je8mr19042003lac.29.1429162878623; Wed, 15 Apr 2015 22:41:18 -0700 (PDT) Original-Received: from elephant.savannah (109-184-182-191.dynamic.mts-nn.ru. [109.184.182.191]) by mx.google.com with ESMTPSA id ba3sm1409186lbc.35.2015.04.15.22.41.16 for (version=TLSv1.2 cipher=RC4-SHA bits=128/128); Wed, 15 Apr 2015 22:41:17 -0700 (PDT) User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.4 (gnu/linux) X-detected-operating-system: by eggs.gnu.org: Error: Malformed IPv6 address (bad octet value). X-Received-From: 2a00:1450:4010:c03::22e X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: General Guile related discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guile-user-bounces+guile-user=m.gmane.org@gnu.org Original-Sender: guile-user-bounces+guile-user=m.gmane.org@gnu.org Xref: news.gmane.org gmane.lisp.guile.user:11800 Archived-At: --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable 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: =2D-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) forma= t. ** Unix parser now handles C-style backslash escapes as described in 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 inlin= ed list represents a row of the table. ** New 'set-debug!' procedure in (dsv) The procedure allows to enable or disable debugging traces. The debug m= ode 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 form= at at the end of lines. ** 'guess-delimiter' in (dsv) now accepts an optional 'known-delimiters' ar= gument 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. =2D-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! =2D Artyom [1] https://en.wikipedia.org/wiki/Delimiter-separated_values [2] https://tools.ietf.org/html/rfc4180 =2D-=20 Artyom V. Poptsov ; GPG Key: 0898A02F Home page: http://poptsov-artyom.narod.ru/ --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQEcBAEBCgAGBQJVL0tkAAoJEOnFotkImKAv9GAH/1Urf+kHkUBFZXcqsXM6nbB8 0rk3Tprc6Ppd+2a3ahyzllyRhlSKZyDpI3j/Ms7m9z+XZgS2wGBhJTOaWekLXXE6 lMu/MsEJYdA80mSGfqotykfSdEaIsDco9lH8ZIyHwqDTVDOnCBcYkD46Kf+tIeh6 VHg9CwC3KV58L9ltPISdYM6ay60ltu76Ui85tuo8vjMnJNExM+b36pQIXTgSJpi5 tP0tbmH3KgznFZDhWiKxbHivb5HM7hr/LyI7re+9tRjG6Mp+R91CrL5EaoJBTIiM JSehN9XW70BnjxQ/eNfXM32RrV3Sm2yNSgjuNHrxBhcjZO0buexRkoxeTlYoadU= =nrnU -----END PGP SIGNATURE----- --=-=-=--