HNHacker News
TopNewBestAskShowJobs

sol_plunder

11 karma · joined August 9, 2023

submissionscomments
sol_plunder··on Plunder and Urbit
That sounds right! I'll keep that in mind.

"A lisp machine with fully automatic persistence. No database or filesystem needed" is actually a fairly accurate description.

sol_plunder··on Plunder and Urbit
Think of it as being a Scheme implementation: Racket, Stalin, Larceny, Plunder.
sol_plunder··on Plunder and Urbit
The main use-case is for building peer-to-peer systems with small eng resources.

The win is basically that the entire stack gets much less complex. Network, database, and business logic all operate within the same model.

For example, once the system is finished, building a full p2p chat should be possible in a couple hundred LOC.

The goal is somewhat political, to enable people to build their own social software, instead of depending on finance for everything.

> I also don't think I can see such a design ever doing anything very quickly, as every operation is necessarily committed to disk.

There is overhead to be sure, but it's nowhere near as bad as it sounds.

In practice, we don't need to fsync every input. Each syscall chooses if it should wait for a sync before running effect. Sync only blocks that effect, everything else continues to run.

For example most REPL IO doesn't need to wait for a sync, but a network transaction does.

sol_plunder··on Plunder and Urbit
There is a fair bit of overlap, but Plunder processes are persistent and Erlang processes are ephemeral.

Making processes persistent has nontrivial overhead, so the Erlang model probably doesn't translate well in practice to Plunder.

sol_plunder··on Plunder and Urbit
This document was written by Urbit devs, and for Urbit devs.

Plunder is not an obscurantist project, and intends to be straightforward and easy to understand.

sol_plunder··on Plunder and Urbit
Plunder dev here:

Here is a recent attempt to explain the paradigm succinctly: https://git.sr.ht/~plan/plunder/tree/master/item/doc/PLAN.md

Very open to feedback as to how to express these ideas more clearly.

sol_plunder··on Plunder and Urbit
The paradigm is quite difficult to describe well. Another attempt is here:

https://git.sr.ht/~plan/plunder/tree/master/item/doc/PLAN.md

sol_plunder··on Plunder and Urbit
Main Plunder dev here, wasn't expecting to see this here.

This document was written by an Urbit dev, and the Urbit community is the target audience.

The conversation here seems to be mostly shitting on Urbit with the usual HN critiques.

However, Plunder is only tangentially related to Urbit.

It's the same paradigm, but totally different otherwise. Heavy Haskell influence.

The project is still mostly underground, but I'm happy to answer any questions.