What is Plunder?
PLUNDER IS AN OPERATING SYSTEM
Plunder is a new operating system paradigm,
built using pure functional programing, type
systems, and the actor model.
Plunder will ultimately supplant UNIX, the
filesystem, and the database as the primary
organizational structures of computing.
PLUNDER IS LISP
A minimal, functional evaluation model (PLAN).
A language bootstrapped using macros (Sire).
An image-based software paradigm: a Lisp Machine
for the modern era.
A name in the Scheme tradition: Guile, Larceny,
Stalin, Racket, Plunder.
PLUNDER IS MAXWELL'S EQUATIONS OF SOFTWARE
The PLAN specification fits on a single page.
The production PLAN interpreter is just 2500
lines of assembly -- no libc.
The Sire compiler is 2000 lines of pure Sire.
PLUNDER IS HASKELL
A lazy, typed, purely functional programming
system with monadic IO.
An imperative DSL for performance-sensitive code.
(like the ST monad, but lower level).
PLUNDER IS ERLANG
An actor model, where processes communicate
by message passing with no shared mutable state.
Extremely lightweight processes, mailboxes,
error handling, and supervision trees.
Per-process private heaps and private GC.
Message passing without copies.
PLUNDER IS URBIT
Plunder supports *permanent processes* backed by
disk, which transparently resume on restart.
Processes on disk are represented as a closure
for the state, and all of the inputs since then.
All code is data -- totally normal data. Data
which can be hashed and serialized.
PLUNDER IS BIG
Plunder can support terabytes of live data.
There is no need to serialize data or store it
in files, everything remains in normal data
structures on a shared heap.
Most systems fall prey to GC performance issues
at scales orders of magnitude smaller, but
Plunder does not.
This is possible without complex implementation
strategies. It is achieved through architecture;
the entire system is designed around this goal.