From: amirouche@hyper.dev
To: guile-user gnu <guile-user@gnu.org>
Subject: Pre-release guile-r7rs 0.1.0 and guile-wiredtiger 0.8.0
Date: Fri, 03 May 2019 16:30:19 +0200 [thread overview]
Message-ID: <692035610ce8f7a2edf538a530b34653@hyper.dev> (raw)
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
next reply other threads:[~2019-05-03 14:30 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-03 14:30 amirouche [this message]
2019-05-09 14:46 ` Pre-release guile-r7rs 0.1.0 and guile-wiredtiger 0.8.0 Amirouche Boubekki
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/guile/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=692035610ce8f7a2edf538a530b34653@hyper.dev \
--to=amirouche@hyper.dev \
--cc=guile-user@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).