From mboxrd@z Thu Jan  1 00:00:00 1970
Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail
From: =?UTF-8?Q?Aleix_Conchillo_Flaqu=C3=A9?= <aconchillo@gmail.com>
Newsgroups: gmane.lisp.guile.user
Subject: Re: [ANN] Guile-DSV 0.7.0 released
Date: Tue, 15 Aug 2023 08:02:43 -0700
Message-ID: <CA+XASoXSYhzdb-wg3D3aLZ02M-Cy5rO6yHh_==VKYrXAnZE1rA@mail.gmail.com>
References: <87wmxwejj4.fsf@gmail.com>
Mime-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214";
	logging-data="34557"; mail-complaints-to="usenet@ciao.gmane.io"
Cc: "Guile Users' Mailing List" <guile-user@gnu.org>
To: "Artyom V. Poptsov" <poptsov.artyom@gmail.com>
Original-X-From: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org Tue Aug 15 17:03:54 2023
Return-path: <guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org>
Envelope-to: guile-user@m.gmane-mx.org
Original-Received: from lists.gnu.org ([209.51.188.17])
	by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
	(Exim 4.92)
	(envelope-from <guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org>)
	id 1qVvaL-0008kk-Ov
	for guile-user@m.gmane-mx.org; Tue, 15 Aug 2023 17:03:53 +0200
Original-Received: from localhost ([::1] helo=lists1p.gnu.org)
	by lists.gnu.org with esmtp (Exim 4.90_1)
	(envelope-from <guile-user-bounces@gnu.org>)
	id 1qVvZU-0001lH-LR; Tue, 15 Aug 2023 11:03:00 -0400
Original-Received: from eggs.gnu.org ([2001:470:142:3::10])
 by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <aconchillo@gmail.com>)
 id 1qVvZT-0001l2-El
 for guile-user@gnu.org; Tue, 15 Aug 2023 11:02:59 -0400
Original-Received: from mail-qv1-xf33.google.com ([2607:f8b0:4864:20::f33])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <aconchillo@gmail.com>)
 id 1qVvZQ-0000WD-Bj
 for guile-user@gnu.org; Tue, 15 Aug 2023 11:02:58 -0400
Original-Received: by mail-qv1-xf33.google.com with SMTP id
 6a1803df08f44-6459a5919cdso19200166d6.3
 for <guile-user@gnu.org>; Tue, 15 Aug 2023 08:02:55 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1692111774; x=1692716574;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=RVvxBmQKmtuHBTw+XYD8+9lVyXQDz2mL4bVIDA8TgcY=;
 b=dgjR7N56y1ZQ7/Eursau7JwEsAYiiNn3Hh1uphSzlXhxeokVR/a7k2+sr/EWnBX/Yt
 3ikST28ehye/Y3ncN/LSS1NTnOSVI+5He1SDeU6L9l2ClEIAG/VPYU7sbsc/v18lGDY9
 4MVuaZyX4bpkpkRLWfwPhEWpxcO94rYq659aPKu4VxeGQp3o01sa9AEJBCcGentktzG7
 EntPiNy0/FqvJckC+SZ+A6+HafsSZCq3VnOb2KtjYczohjc7CdZBzf3ee23njnuIBEPP
 /swYkzJH02sECeKA/48bCeiNt8D5bLHAN/PCADp0PtqRhY2TldhspFVkLvAdhkY33c07
 hlaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1692111774; x=1692716574;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=RVvxBmQKmtuHBTw+XYD8+9lVyXQDz2mL4bVIDA8TgcY=;
 b=Z5Z1W7Ro0qKjHXEkhyayiGm+ZSQT0IDh8Wm6vM4rKg2wuv/eTWHsY78mnQXrGovizp
 vYF4d0N/OPObYo42YqtXa1it1JhgDmdQSMcA6aBYLqFvIranarJbG4GZlo70CST7d2C5
 4LCXBvcWs/LalwrfKTmrWmO7dd1ZoTEFvgg4hTZSkphXp4SfDJvmlCiNMgrRR2W2+T8M
 kcvVHSbSKzQ5i9mfEdXxaHVQZ0HrwlKgJS1ZzVtnkoy8/mE+MF7kd3wimYtiBbIbba9c
 4coSwkRnKqSq15aNRwFScMQbS9kjHKbLRHKf5p6gEekG58VrWa1+vJfHHSvFGdvo9A/t
 3J8g==
X-Gm-Message-State: AOJu0YxoiQt4C3H+SWf1o9cgvr+As8Z5bYedSOsWEVphupTwiwbZjTGh
 a5RVgpmabDQe/SpcprdxTnxFabcNAU5BKXLRvIgWIz3E
X-Google-Smtp-Source: AGHT+IFLOvkYw0OEn/cSiAyxr+v4Q3oyRc0J6YcYj3ZKNY7PvpWQDkLtfwipmPEK9I+1hoM4HGi9sP04lhvoVUaaD1Y=
X-Received: by 2002:a05:6214:14ef:b0:63d:3ab9:d9a0 with SMTP id
 k15-20020a05621414ef00b0063d3ab9d9a0mr11399597qvw.52.1692111774311; Tue, 15
 Aug 2023 08:02:54 -0700 (PDT)
In-Reply-To: <87wmxwejj4.fsf@gmail.com>
Received-SPF: pass client-ip=2607:f8b0:4864:20::f33;
 envelope-from=aconchillo@gmail.com; helo=mail-qv1-xf33.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Content-Filtered-By: Mailman/MimeDel 2.1.29
X-BeenThere: guile-user@gnu.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: General Guile related discussions <guile-user.gnu.org>
List-Unsubscribe: <https://lists.gnu.org/mailman/options/guile-user>,
 <mailto:guile-user-request@gnu.org?subject=unsubscribe>
List-Archive: <https://lists.gnu.org/archive/html/guile-user>
List-Post: <mailto:guile-user@gnu.org>
List-Help: <mailto:guile-user-request@gnu.org?subject=help>
List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guile-user>,
 <mailto:guile-user-request@gnu.org?subject=subscribe>
Errors-To: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org
Original-Sender: guile-user-bounces+guile-user=m.gmane-mx.org@gnu.org
Xref: news.gmane.io gmane.lisp.guile.user:19163
Archived-At: <http://permalink.gmane.org/gmane.lisp.guile.user/19163>

Great improvements! Congratulations!

On Tue, Aug 15, 2023 at 2:35=E2=80=AFAM Artyom V. Poptsov <poptsov.artyom@g=
mail.com>
wrote:

> Hello Guilers,
>
> I'm pleased to announce Guile-DSV 0.7.0:
>   https://github.com/artyom-poptsov/guile-dsv/releases/tag/v0.7.0
>
> This release replaces the old finite-state machine (FSM) implementation
> with the new one that uses Guile State Machine Compiler (Guile-SMC) [1].
> The new FSM code is generated at build-time from PlantUML description
> directly.
>
> See the full list of user-visible changes below.
>
> As the result of re-writting FSMs of Guile-DSV with PlantUML/Guile-SMC,
> Guile-DSV gained some speed improvements.  You can find an attached
> LibreOffice Calc document with some benchmarking using around 5 million
> lines of data (source: [2])
>
> More detailed information about the data (lines/words/characters):
> --8<---------------cut here---------------start------------->8---
> $ $ wc datasets/FeedGrains.csv
>   498929  6010097 93054624 datasets/FeedGrains.csv
> --8<---------------cut here---------------end--------------->8---
>
> I took five "dsv" runs using RFC 4180 input format with "--summary"
> option on Guile-DSV 0.6.0 and Guile-DSV 0.7.0 with the same options (and
> disabled logging) and in some cases the new parser implementation is 15
> times faster that the old one.
>
> As a bonus Guile-DSV FSMs are now much nicer and easier to maintain.
> The downside is that now Guile-DSV depends on Guile-SMC.
>
>
> * What is Guile-DSV?
>
> Guile-DSV is a library that allows to parse Delimiter-Separated Values
> format (DSV).  It supports two flavors of DSV: Unix-style[3] and
> RFC4180[4].
>
> Also Guile-DSV is shipped with a program named "dsv" that allows to read
> and process DSV format (including delimiter change and conversion from
> one standard to another, formatting tables etc.)  See README file for
> usage examples.
>
>
> * List of user visible changes
>
> Here's an excerpt from the NEWS file:
>
> --8<---------------cut here---------------start------------->8---
> * Changes in version 0.7.0 (2023-08-15)
> ** Guile-DSV now uses Guile State Machine Compiler (Guile-SMC)
> Guile-DSV now uses Guile State Machine Compiler (Guile-SMC) for the state
> machine code generation from the PlantUML description:
>   https://github.com/artyom-poptsov/guile-smc
>
> ** =3Ddsv->scm=3D and =3Ddsv-string->scm=3D now accept additional paramet=
ers
> Now =3Ddsv->scm=3D and =3Ddsv-string->scm=3D procedures accept additional
> parameters:
> - =3D#:debug-mode?=3D -- Enable/disable the debug mode.
> - =3D#:log-driver=3D -- Set the logging driver.
> - =3D#:log-opt=3D -- Set the logging options.
> ** =3Ddsv=3D tool now accepts =3D--log-driver=3D and =3D--log-opt=3D
> ** Update Texinfo documentation
> --8<---------------cut here---------------end--------------->8---
>
>
> Thanks and happy hacking!
>
> - Artyom
>
> 1. https://github.com/artyom-poptsov/guile-smc
> 2.
> https://www.ers.usda.gov/data-products/feed-grains-database/feed-grains-y=
earbook-tables/
> 3. http://www.catb.org/~esr/writings/taoup/html/ch05s02.html#id2901882
> 4. https://tools.ietf.org/html/rfc4180
>
>
> --
> Artyom "avp" Poptsov <poptsov.artyom@gmail.com>
> Home page: https://memory-heap.org/~avp/
> CADR Hackerspace co-founder: https://cadrspace.ru/
> GPG: D0C2 EAC1 3310 822D 98DE  B57C E9C5 A2D9 0898 A02F
>