[racket] ANN: DOS, Delimited-continuation-based Operating-system Simulator
I've just released the game architecture library I talked about in
part 2 of my RacketCon talk.
The big picture of this library is to make World-style programs more
compositional by (a) using continuations to hide the internal state
(including control state) of components and (b) using environments as
a standard monoid-based inter-component communication channel. A
monoid is used to ensure that the components can be evaluated in any
order. Despite assumptions some have about continuations and pure
functional programming, it is incredibly efficient and can run at
60FPS, as demonstrated in get-bonus.
You can get it with
raco pkg install dos
And you can try out the demo with
racket -l dos/examples/win
The demo source is a bare 39 lines:
https://github.com/jeapostrophe/dos/blob/master/dos/examples/win.rkt
and I provide the non-DOS version for comparison:
https://github.com/jeapostrophe/dos/blob/master/dos/examples/win-long.rkt
The core library has a mere 36 lines:
https://github.com/jeapostrophe/dos/blob/master/dos/main.rkt
--
Jay McCarthy
http://jeapostrophe.github.io
"Wherefore, be not weary in well-doing,
for ye are laying the foundation of a great work.
And out of small things proceedeth that which is great."
- D&C 64:33