Giving OCaml a try
During the last couple of weeks I’ve gone on a completely different direction. I happened to hear a few people saying good things about OCaml, and I was kind of missing coding with strong types, so I decided to reimplement my basic key value store (see the post), and see if it was fun to write. First of all, here is the result. The functionality is the same, a hash map over a network, using an “official” async library, and a basic client and server that receive and send S-Expressions over the wire.
Read more…Using Zig from Common Lisp
2025-03-12 Update, as people on Twitter, Lobsters, and Reddit pointed out, I was missing a extern in the struct, see the last section! Last week I started playing with my own toy key-value store (see the previous post). At the end I got to a hashtable exposed over the network, using a protocol based on S-Expressions. For the next steps, I have two alternatives, I can work on the low level representation of the data, maybe implement B-Trees, and some storage, or I can go up instead, and see how can I make it distributed, and play with some nice algorithms.
Read more…Redis from scratch, or Cledis
This week I was looking for something new, and I realised that I’ve never tried to do any network programming using Common Lisp. Also, some time ago I came across the Build your own Redis book, but never tried to go through it. The project is perfect, it contains threading, networking, and even some async programming. I had no idea what the Common Lisp ecosystem for those things looks like, so it was time to find out.
Read more…