A history of continuation

Posted by Shugo Maeda Mon, 17 Oct 2005 05:53:00 GMT

I attended Jim Weirich and Chad Fowler's tutorial on RubyConf today. It was about continuation and quite a interesting one. I learned many about The Legend of Zelda:) Thanks, Jim and Chad.

Someone asked a question, "Is it similar to goto?" Then I remember why continuation was added to Ruby.

In 1998, someone requested goto to Matz. Matz said that he doesn't want to add goto to Ruby because it's difficult to implement and there is no benefit to do it. So I asked him, "How about continuation?" He said, "Continuation may be acceptable."

Then, I implemented it using thread implementation. The first implementaion was just a 94 lines patch. Certainly it was an incomplete implementaion, but it was very easy to implement thanks to thread. That patch was merged to Ruby finally.

Continuation may be harmful especially for languages that allow many side effects such as Ruby. Maybe it should be removed from Ruby 2.0. I have not used continuation in real applications, so I can do without it.

But it's a very interesting feature, and I want see it in Ruby 2.0. How about others?

Leave a comment, View comments, View trackbacks

Your Comments.

Leave your own response

Other posts about this post.

This post has been discussed on the following web sites / blogs. If you wish to trackback to this post please use the following trackback address: http://blog.shugo.net/articles/trackback/13

Spread the word.

Shugo's Blog supports RSS (Real Simple Syndication), and Trackbacks from other blogs.

RSS feed for this post Trackback URI

Your Reply

Comment Form.

Fields denoted with a "*" are required.

You may also like to leave your email or website.