[racket] ANN: DOS, Delimited-continuation-based Operating-system Simulator

From: Jay McCarthy (jay.mccarthy at gmail.com)
Date: Fri Sep 26 20:03:57 EDT 2014

Sure, I can make a post about it. However, the core idea is already in
this post:


I can make another one, however, to rehash it and talk about the
benefits of monoid states.


On Fri, Sep 26, 2014 at 2:15 PM, Michael Bradley, Jr.
<michaelsbradleyjr at gmail.com> wrote:
> Jay McCarthy <jay.mccarthy at ...> writes:
>> 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
> Hi Jay,
> I really enjoyed your talk on get-bonus at RacketCon last weekend, and
> appreciate your sharing DOS with all of us. Also, your presentation at
> Strange Loop 2013 was my first introduction to delimited continuations in
> Racket!
> I have benefited from a number of your blog posts in the past, e.g. the one
> on an improved threading macro, and was wondering if you would consider
> doing a write-up on DOS?
> Best regards,
> --
> Michael Bradley, Jr.
> @michaelsbradley
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users

Jay McCarthy

           "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

Posted on the users mailing list.