[Rubygems-developers] What plans now?

Gavin Sinclair gsinclair at soyabean.com.au
Mon May 17 10:54:36 EDT 2004

On Monday, May 17, 2004, 9:17:51 PM, Chad wrote:

>> As for Chad's continuation-based idea, down that road lies madness!
>> (Sorry, just had to say that.)  I think that would get rather 
>> complicated,
>> rather quickly.  And to do it properly, we'd end up reimplementing 
>> Borges
>> :)

> It's early, so I might be missing something elementary, but:

>   [code snipped]

> All yields will have to either be done in the (e.g.) gem.install method
> or the block will have to be passed down from one method to the next
> like:

> def foo(&block)
>    bar(&block)
> end

> That gets pretty nasty too, especially as we add more classes and 
> methods to those classes.

Yeah, I don't think we want that kind of approach (passing blocks
everywhere).  I was thinking of all the yields being done in the one
method, and I wasn't really thinking beyond that.  Really, I was just
thinking of the API, not the implementation.

> Is there a way to do a catch that will respond to *any* symbol?  A 
> mixture of our two approaches might solve the problem if it was 
> possible.

I don't think so.  But that's like 'catching' an exception, isn't it?
You can catch, deal with it, and retry, perhaps.

> What makes you say continuations are complicated?   The continuations
> part of Borges, for example, is really nothing to implement or 
> understand.  Borges (Seaside, really) is only complicated because of
> the amount of functionality included--not the continuations trick.

Everything I've seen with continuations has been rather difficult to
understand at first.  I get it after a while but can never imagine
coming up with the code myself.

I haven't looked at the guts of Borges in detail so I take your point.
Heck, I'm certainly interested to see what you can come up with.


More information about the Rubygems-developers mailing list