roc-lang / book-of-examples

Software Design by Example in Roc
Other
23 stars 15 forks source link

topic proposal: Redis-like key value store with write-ahead log #32

Open stuarth opened 2 months ago

stuarth commented 2 months ago

@gvwilson had suggested this, and I'd be very interested in writing it. That said, I don't believe it'd fit in an existing platform and would likely require something like a basic-tcp. Thoughts @rtfeldman or others?

isaacvando commented 1 month ago

This sounds very cool! Could the additional TCP primitives be added to basic-cli to accomplish it?

Anton-4 commented 1 month ago

What would need to be added? Current TCP features for reference.

stuarth commented 1 month ago

@Anton-4 we'd need to be be able to receive connections, a la basic-webserver but a TcpStream instead of an http request

Anton-4 commented 1 month ago

Yeah, that seems like it would be out of scope for basic-cli. I would go with a dedicated tcp platform, I'll make a post about it on zulip to get some input.

Anton-4 commented 1 month ago

https://roc.zulipchat.com/#narrow/stream/304641-ideas/topic/dedicated.20TCP.20platform/near/430409848

gvwilson commented 4 weeks ago

Can it be done as a pure library, i.e., skip the socket stuff and show how to build the data store? (that might help keep the size down)

stuarth commented 3 weeks ago

Maaaaybe. Let me sketch out a potential lesson plan with it @gvwilson and we'll see how it feels. my initial impression is that it's quite a bit less compelling without the network aspect