From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!.POSTED.blaine.gmane.org!not-for-mail From: amirouche@hyper.dev Newsgroups: gmane.lisp.guile.user Subject: Pre-release guile-r7rs 0.1.0 and guile-wiredtiger 0.8.0 Date: Fri, 03 May 2019 16:30:19 +0200 Message-ID: <692035610ce8f7a2edf538a530b34653@hyper.dev> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII; format=flowed Content-Transfer-Encoding: 7bit Injection-Info: blaine.gmane.org; posting-host="blaine.gmane.org:195.159.176.226"; logging-data="10379"; mail-complaints-to="usenet@blaine.gmane.org" User-Agent: Roundcube Webmail/1.3.8 To: guile-user gnu Original-X-From: guile-user-bounces+guile-user=m.gmane.org@gnu.org Fri May 03 23:17:44 2019 Return-path: Envelope-to: guile-user@m.gmane.org Original-Received: from lists.gnu.org ([209.51.188.17]) by blaine.gmane.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hMfYn-0017On-AB for guile-user@m.gmane.org; Fri, 03 May 2019 23:17:37 +0200 Original-Received: from localhost ([127.0.0.1]:41495 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hMZDQ-0001YN-7D for guile-user@m.gmane.org; Fri, 03 May 2019 10:31:08 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:46630) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1hMZCk-0001Uq-63 for guile-user@gnu.org; Fri, 03 May 2019 10:30:27 -0400 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1hMZCi-0000p1-T7 for guile-user@gnu.org; Fri, 03 May 2019 10:30:26 -0400 Original-Received: from relay4-d.mail.gandi.net ([217.70.183.196]:40129) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1hMZCi-0000o7-JF for guile-user@gnu.org; Fri, 03 May 2019 10:30:24 -0400 Original-Received: from webmail.gandi.net (webmail14.sd4.0x35.net [10.200.201.14]) (Authenticated sender: amirouche@hyper.dev) by relay4-d.mail.gandi.net (Postfix) with ESMTPA id 38FE2E000A for ; Fri, 3 May 2019 14:30:20 +0000 (UTC) X-Sender: amirouche@hyper.dev X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 217.70.183.196 X-BeenThere: guile-user@gnu.org X-Mailman-Version: 2.1.21 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" Xref: news.gmane.org gmane.lisp.guile.user:15439 Archived-At: Hello! I am working toward releasing guile-r7rs 0.1.0 and guile-wiredtiger 0.8.0. They are both available in the my guix channel. That you can use as follow: $ cat ~/.config/guix/channels.scm (cons (channel (name 'amz3) (url "https://git.sr.ht/~amz3/guix-amz3-channel")) %default-channels) Then: $ guix pull ... guile-r7rs rely on a guile-pfds but the current guile-pfds available in guix has a bug. Anyway, to install everything you need to do the following: $ guix package -i guile-pfds@0.0.0 guile-r7rs@0.0.0 guile-wiredtiger@0.0.0 It might ask you to remove any previous installation of one the those packages. The work-in-progress documentation of guile-r7rs is available at: https://git.sr.ht/~amz3/guile-r7rs/tree/master/doc The doc is mostly scrapped from r6rs, r7rs and srfis. Here is the list of available modules: scheme/assume.scm scheme/base.scm scheme/bitwise.scm scheme/box.scm scheme/bytevector.scm scheme/case-lambda.scm scheme/char.scm scheme/charset.scm scheme/comparator.scm scheme/complex.scm scheme/cxr.scm scheme/eval.scm scheme/file.scm scheme/generator.scm scheme/hash-table.scm scheme/inexact.scm scheme/lazy.scm scheme/list.scm scheme/load.scm scheme/mapping/hash.scm scheme/mapping.scm scheme/process-context.scm scheme/r5rs.scm scheme/read.scm scheme/repl.scm scheme/set.scm scheme/sort.scm scheme/stream.scm scheme/time.scm scheme/write.scm You can look in the tracker to know what is missing: https://todo.sr.ht/~amz3/guile-r7rs The source hut badge says the tests are failing, it is because I did not fix the build specification since I added autotools. guile-wiredtiger is gearing toward 0.8.0: - raw bytevector key and values are supported, multiple columns are still supported but it is recommend to rely on pack and unpack procedures defined in (wiredtiger pack) see below. - fix bug related to session-rollback which was bound to wiredtiger transaction prepare. - move wiredtiger/wiredtiger.scm to wiredtiger.scm which means to access the procedures you need to import (wiredtiger) instead of (wiredtiger wiredtiger) - add `wiredtiger/pack.scm` which is based on foundationdb packing algorithm. The packing algorithm support more scheme types including bigint, symbols, single and double precision floats (inexact). This is still a work in progress. Do expect breaking changes as I might move away from foundationdb compatibility to better blend in Scheme. Review welcome: https://framagit.org/a-guile-mind/guile-wiredtiger/blob/master/wiredtiger/pack.scm - add `wiredtier/okvs.scm` which is a partial implementation of srfi 167, that you can have look at here: https://srfi.schemers.org/srfi-167/ - add `wiredtiger/nstore.scm` which is an implementation of srfi 168, that you can have look at here: https://srfi.schemers.org/srfi-168/ Regarding srfi 168, the conversation is still happening. So chime in, ask questions, debate and help create the greatest database abstraction with Scheme. I already envision extensions to srfi-168 to support Xz-ordering [0] that is state-of-the-art space filling curve that allows to index spatio-temporal data. That will be done in a backward compatible way. Happy hacking! [0] http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.73.4894