Sketchy Plan
Brian Rice
water at tunes.org
Tue Oct 25 11:20:25 PDT 2005
On Oct 25, 2005, at 10:01 AM, Tony Garnock-Jones wrote:
> OK, so if I were to proceed with trying to invert the control in
> the current Slate system (making the REPL inferior to an event
> loop), I'd probably start by working along these lines:
>
> 1. refine the bindings to socket(), connect(), bind(), listen(),
> select() and friends. Or possibly bind to liboop or SDL_Net
> instead.
liboop looks like a decent choice. SDL_Net binds us to SDL which is a
bit annoying.
> 2. experiment with continuations in Slate. (What's their status,
> BTW?)
Non-existent. We have efficient ensure: handling, but that's about
it. Stack traversal does have a Slate-side API in mobius/vm/interp/
debug.slate.
> 3. test the socket code in isolation, using the REPL to start another
> event loop, possibly with a nested REPL inside it.
>
> 4. all-at-once, remove the outer REPL and replace it with an event
> driver loop.
I was going to try (4) but (3) does sound easier to test.
> (5. later, integrate the event loop with SDL's UI events.)
>
> Any comments?
These sound helpful. I will help in any way that I can.
> PS: I appear to be perenially confused about whether "main" or
> "alpha" is the best branch to work on things like this from. Which
> should I use?
If you contribute anything that's not on the periphery, then I'd
prefer that you use main. After all, even if it is unstable, you can
selectively not-pull or unpull patches that give you trouble. On the
other hand, patches that are "darcs send"d to either repository are
still useful, but I need people to tell me when it's for alpha as
opposed to main.
--
-Brian
More information about the Slate
mailing list