* Guile-zstd 0.1.0 released @ 2020-12-27 14:01 Ludovic Courtès 2020-12-27 15:00 ` Guile-zstd 0.1.1 released Ludovic Courtès 0 siblings, 1 reply; 6+ messages in thread From: Ludovic Courtès @ 2020-12-27 14:01 UTC (permalink / raw) To: guile-user, guix-devel, guile-sources [-- Attachment #1: Type: text/plain, Size: 860 bytes --] Hi! I’m pleased to announce the first release of Guile-zstd: git clone https://notabug.org/guile-zstd/guile-zstd cd guile-zstd git checkout v0.1.0 # or 0d830f53e2a2bb71799aeda4be7101a09d060f99 git tag -v v0.1.0 The ‘git tag -v’ command checks the authenticity of your checkout. You may need to retrieve the signing key first: gpg --keyserver pool.sks-keyservers.net \ --recv-keys 3CE464558A84FDC69DB40CFB090B11993D9AEBB5 Guile-zstd provides Guile 3.0/2.x bindings to the zstd (or “zstandard”) compression library. You can report bugs and send patches to <guile-user@gnu.org> or on the web site: https://notabug.org/guile-zstd/guile-zstd If you like Guile-zstd, you may also like these: https://notabug.org/guile-lzlib/guile-lzlib https://notabug.org/guile-zlib/guile-zlib :-) Ludo’. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 853 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Guile-zstd 0.1.1 released 2020-12-27 14:01 Guile-zstd 0.1.0 released Ludovic Courtès @ 2020-12-27 15:00 ` Ludovic Courtès 2020-12-28 6:48 ` Dr. Arne Babenhauserheide 2021-01-04 19:19 ` Aleix Conchillo Flaqué 0 siblings, 2 replies; 6+ messages in thread From: Ludovic Courtès @ 2020-12-27 15:00 UTC (permalink / raw) To: guile-sources, guile-user, guix-devel [-- Attachment #1: Type: text/plain, Size: 359 bytes --] Ludovic Courtès <ludo@gnu.org> skribis: > I’m pleased to announce the first release of Guile-zstd: Oops, a file was missing from the repo, so here’s a brand new release! git clone https://notabug.org/guile-zstd/guile-zstd cd guile-zstd git checkout v0.1.1 # or f853c8eb81088f8fbf33d38e62cddea9a4984180 git tag -v v0.1.1 Ludo’. [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 853 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Guile-zstd 0.1.1 released 2020-12-27 15:00 ` Guile-zstd 0.1.1 released Ludovic Courtès @ 2020-12-28 6:48 ` Dr. Arne Babenhauserheide 2020-12-28 7:33 ` Guile ports Zelphir Kaltstahl 2021-01-04 17:21 ` Guile-zstd 0.1.1 released Ludovic Courtès 2021-01-04 19:19 ` Aleix Conchillo Flaqué 1 sibling, 2 replies; 6+ messages in thread From: Dr. Arne Babenhauserheide @ 2020-12-28 6:48 UTC (permalink / raw) To: Ludovic Courtès; +Cc: guix-devel, guile-user, guile-sources [-- Attachment #1: Type: text/plain, Size: 1651 bytes --] Hi Ludo, that’s pretty cool! Thank you! Looking at the readme I get the feeling that two little helpers could be useful: (call-with-zstd-output-file "compressed.zstd" (lambda (port) (define data ;; Read the input file in memory. (call-with-input-file "input-file.txt" get-bytevector-all)) ;; Write data to PORT. (put-bytevector port data))) (call-with-zstd-input-file "compressed.zst" (lambda (port) ;; Read decompressed data from PORT. ...)) Potentially with streaming added (if that’s possible from the library): (call-with-zstd-output-file "compressed.zstd" (lambda (outport) (call-with-input-file "input-file.txt" (lambda (inport) (let loop ((data (get-bytevector-some inport))) (when (not (eof-object? data)) (put-bytevector outport data) (loop (get-bytevector-some inport)))))))) Also maybe a minimal representation of the commandline-interface: (zstd-compress "input-file.txt" #:output "compressed.zst") (zstd-decompress "compressed.zstd" #:output "cleartext-file.zst") Best wishes, Arne Ludovic Courtès <ludo@gnu.org> writes: > Ludovic Courtès <ludo@gnu.org> skribis: > >> I’m pleased to announce the first release of Guile-zstd: > > Oops, a file was missing from the repo, so here’s a brand new release! > > git clone https://notabug.org/guile-zstd/guile-zstd > cd guile-zstd > git checkout v0.1.1 # or f853c8eb81088f8fbf33d38e62cddea9a4984180 > git tag -v v0.1.1 > > Ludo’. -- Unpolitisch sein heißt politisch sein ohne es zu merken [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 1125 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Guile ports 2020-12-28 6:48 ` Dr. Arne Babenhauserheide @ 2020-12-28 7:33 ` Zelphir Kaltstahl 2021-01-04 17:21 ` Guile-zstd 0.1.1 released Ludovic Courtès 1 sibling, 0 replies; 6+ messages in thread From: Zelphir Kaltstahl @ 2020-12-28 7:33 UTC (permalink / raw) To: guile-user On that note, I would like to mention, how elegant I find Guile's port system. You know, the whole "write to port to write to a file", "write to a string port" (for example when you want to avoid building many temporary in-between strings), "reading from ports", etc.. I've not seen something like this in other languages yet. Not sure how much of it is Scheme standards, but I like it. It composes quite well, at least on the surface, when you write procedures. You can always accept an optional or keyword argument, which is the port and then leave the choice of what that port is to the caller. It seems more elegant than a file handle or a location of a file or something like that in some other programming languages, where I wanted something similar. At the beginning it was a little confusing to me, as I had not the understanding of what a port is in Guile (and perhaps my understanding is still superficial, but at least working), but now I enjoy it. On 12/28/20 7:48 AM, Dr. Arne Babenhauserheide wrote: > Hi Ludo, > > that’s pretty cool! Thank you! > > Looking at the readme I get the feeling that two little helpers could be > useful: > > (call-with-zstd-output-file "compressed.zstd" > (lambda (port) > (define data > ;; Read the input file in memory. > (call-with-input-file "input-file.txt" > get-bytevector-all)) > > ;; Write data to PORT. > (put-bytevector port data))) > > (call-with-zstd-input-file "compressed.zst" > (lambda (port) > ;; Read decompressed data from PORT. > ...)) > > Potentially with streaming added (if that’s possible from the library): > > (call-with-zstd-output-file "compressed.zstd" > (lambda (outport) > (call-with-input-file "input-file.txt" > (lambda (inport) > (let loop ((data (get-bytevector-some inport))) > (when (not (eof-object? data)) > (put-bytevector outport data) > (loop (get-bytevector-some inport)))))))) > > Also maybe a minimal representation of the commandline-interface: > > (zstd-compress "input-file.txt" #:output "compressed.zst") > (zstd-decompress "compressed.zstd" #:output "cleartext-file.zst") > > Best wishes, > Arne > > Ludovic Courtès <ludo@gnu.org> writes: > >> Ludovic Courtès <ludo@gnu.org> skribis: >> >>> I’m pleased to announce the first release of Guile-zstd: >> Oops, a file was missing from the repo, so here’s a brand new release! >> >> git clone https://notabug.org/guile-zstd/guile-zstd >> cd guile-zstd >> git checkout v0.1.1 # or f853c8eb81088f8fbf33d38e62cddea9a4984180 >> git tag -v v0.1.1 >> >> Ludo’. > -- repositories: https://notabug.org/ZelphirKaltstahl ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Guile-zstd 0.1.1 released 2020-12-28 6:48 ` Dr. Arne Babenhauserheide 2020-12-28 7:33 ` Guile ports Zelphir Kaltstahl @ 2021-01-04 17:21 ` Ludovic Courtès 1 sibling, 0 replies; 6+ messages in thread From: Ludovic Courtès @ 2021-01-04 17:21 UTC (permalink / raw) To: guile-user Hi, "Dr. Arne Babenhauserheide" <arne_bab@web.de> skribis: > Looking at the readme I get the feeling that two little helpers could be > useful: > > (call-with-zstd-output-file "compressed.zstd" > (lambda (port) > (define data > ;; Read the input file in memory. > (call-with-input-file "input-file.txt" > get-bytevector-all)) > > ;; Write data to PORT. > (put-bytevector port data))) > > (call-with-zstd-input-file "compressed.zst" > (lambda (port) > ;; Read decompressed data from PORT. > ...)) > > Potentially with streaming added (if that’s possible from the library): > > (call-with-zstd-output-file "compressed.zstd" > (lambda (outport) > (call-with-input-file "input-file.txt" > (lambda (inport) > (let loop ((data (get-bytevector-some inport))) > (when (not (eof-object? data)) > (put-bytevector outport data) > (loop (get-bytevector-some inport)))))))) Yeah I kept it minimal; it’s actually the same interface as in Guile-zlib and Guile-lzlib, which is pretty convenient. Thanks, Ludo’. ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Guile-zstd 0.1.1 released 2020-12-27 15:00 ` Guile-zstd 0.1.1 released Ludovic Courtès 2020-12-28 6:48 ` Dr. Arne Babenhauserheide @ 2021-01-04 19:19 ` Aleix Conchillo Flaqué 1 sibling, 0 replies; 6+ messages in thread From: Aleix Conchillo Flaqué @ 2021-01-04 19:19 UTC (permalink / raw) To: guile-user; +Cc: guix-devel, guile-sources On Sun, Dec 27, 2020 at 7:01 AM Ludovic Courtès <ludo@gnu.org> wrote: > > Ludovic Courtès <ludo@gnu.org> skribis: > > > I’m pleased to announce the first release of Guile-zstd: > > Oops, a file was missing from the repo, so here’s a brand new release! > > git clone https://notabug.org/guile-zstd/guile-zstd > cd guile-zstd > git checkout v0.1.1 # or f853c8eb81088f8fbf33d38e62cddea9a4984180 > git tag -v v0.1.1 > Great! This is now available in Guile Homebrew as well as guile-lzlib and guile-zlib. Btw, I sent a PR to guile-zstd: https://notabug.org/guile-zstd/guile-zstd/pulls/1 Aleix ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-01-04 19:19 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-12-27 14:01 Guile-zstd 0.1.0 released Ludovic Courtès 2020-12-27 15:00 ` Guile-zstd 0.1.1 released Ludovic Courtès 2020-12-28 6:48 ` Dr. Arne Babenhauserheide 2020-12-28 7:33 ` Guile ports Zelphir Kaltstahl 2021-01-04 17:21 ` Guile-zstd 0.1.1 released Ludovic Courtès 2021-01-04 19:19 ` Aleix Conchillo Flaqué
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).