
Are there any simple embeddable key/value store/db libraries for racket? Something similar to https://github.com/etcd-io/bbolt (or much simpler).

How simple should this database be? I have used get-preference
and put-references
as a key value store and they work nicely for small use cases (up to a few hundred keys)

And if you need larger datasets or transactions, sqlite
works just fine as a key/value store and you can access that directly from the db
package which ships with Racket

I like sqlite
too. There is also bindings for redis
.

The first link on https://docs.racket-lang.org/htdp-langs/beginner.html is currently broken. A working link to that passage is here https://htdp.org/2018-01-06/Book/i1-2.html

@mflatt ^


@auaruss probably will be fixed tomorrow BTW the latest book is at https://htdp.org/2020-5-6/Book/i1-2.html (for now)

sqlite would have been my choice if there is nothing like bolt yes. sqlite is still really great. i don’t really want redis because i want something that is embedded into my application.

so it will be sqlite. that is also fine

is chez scheme shipping in 7.8 as default?

No, but maybe 7.9.
Although CS 7.8 should finally have all functionality in place (including things like unboxing of local floating-point calculations and a kind of incremental mode for GC), I think we want one release cycle where we don’t find bigger bugs in CS than BC. That might happen in the cycle between 7.8 and 7.9.

Am I missing something or are there not synchronizable event constructors for place-channels?

Place channels are evts for receiving. Since the channel is asynchronous (i.e., sending never blocks), there’s no corresponding evt for sending.

Thanks! Good to know

I think I asked this same exact question about 6 months ago :flushed: