In article <m2pun87dkw.fsf / skaro.access.one.net>,
  jweirich / one.net wrote:
> I don't know if this counts as cool ... but here is an example using
> continuations.
>
> # ====================================================================
> # Continuation Examples
> # Author: Jim Weirich (jweirich / one.net)
> # ====================================================================
>
> def count_task (count, consumer)
>   (1..count).each do
>     |i|
>     callcc {|cc| consumer.call cc, i }
>   end
>   nil
> end
>
> def print_task ()
>   producer, i = callcc { |cc| return cc }
>   print "#{i} "
>   callcc { |cc| producer.call }
> end
>
> def count (limit)
>   count_task (limit, print_task())
>   print "\n"
> end
>

So, continuations are kind of a pipe between methods?  I've never used
continuations before, so go easy ;).  It almost seems like a mini
client/server relationship is happening between the two "processes",
but am I completely off or what...


Sent via Deja.com http://www.deja.com/
Before you buy.