The Artima Developer Community
Sponsored Link

Ruby Buzz Forum
YARV and MetaRuby Summary

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Obie Fernandez

Posts: 608
Nickname: obie
Registered: Aug, 2005

Obie Fernandez is a Technologist for ThoughtWorks
YARV and MetaRuby Summary Posted: Oct 14, 2005 4:22 PM
Reply to this message Reply

This post originated from an RSS feed registered with Ruby Buzz by Obie Fernandez.
Original Post: YARV and MetaRuby Summary
Feed Title: Obie On Rails (Has It Been 9 Years Already?)
Feed URL: http://jroller.com/obie/feed/entries/rss
Feed Description: Obie Fernandez talks about life as a technologist, mostly as ramblings about software development and consulting. Nowadays it's pretty much all about Ruby and Ruby on Rails.
Latest Ruby Buzz Posts
Latest Ruby Buzz Posts by Obie Fernandez
Latest Posts From Obie On Rails (Has It Been 9 Years Already?)

Advertisement

[I'm reporting from RubyConf 2005 in San Diego.]

Here are my notes for the second two presentations on Friday afternoon. One of the things that I'm finding pretty cool is that a full third of the attendees are logged into #rubyconf during the sessions. It makes it easier to coordinate meeting your online friends in person.

YARV - Yet Another Ruby Virtual (Machine)

Intro provided funniest moments of the conference so far. Actually the whole presentation is drawing lots of laughs.

Started 1/1/2004 by Koichi SASADA. At the time it was begun there were other VM projects for Ruby, hence the name. (Apparently the others have falled by the wayside?) Koichi says YARV maybe Ruby 2.0, but Matz will decide. Matz shouts out "it will".

Wow. At one point Koichi implicitely questioned/advised-against changing the syntax of blocks from { |x,y| code } to -> (x,y) { code...} which is being considered for Ruby 2.0 by Matz. He got a rousing round of applause in response. I don't like the idea of changing that syntax myself and I guess the majority of attendees here don't either.

Reimplementing Ruby

Presentation by Eric Hodel of Robot Coop about their Metaruby project, reimplementing the C-based Ruby runtime and core libraries in Ruby. They are heavily influenced by Squeak.

Rubytests mentioned. The methodology the team is following is TDD, which is great. SummariStub out the Ruby class under development, run the tests, they fail, implement until all tests pass. One of their challenges is that Rubytests is stale and mostly tests Ruby 1.6 language features and has sketchy coverage. They are running into difficulties with TestUnit also. A suggestion was made to contact Mike Clark about his personal Ruby test suite. When Mike was teaching himself Ruby he wrote unit tests for every feature he ran into that he didn't know about before. (That's true-blue TDD, eh!!)

Decisions about which Ruby classes must be primitives (classes that have to be implemented in C) are being driven by discovery rather than picking them out up front. Progress is ongoing but they're still in early stages. They can get IRB up and running with their current codebase, but it segfaults easily. The code challenges they are facing are pretty damn interesting. There are cases like Array#fill where figuring out the arguments to the method is half the implementation. In other cases, like with match variables ($1, $2, so on...), they can't get around having the interpreter help out due to language constraints. Classes like Time can't get around using native functionality for obvious reasons.

Future of Metaruby? Work on the interpreter not started yet, some decisions on what to base it on is necessary. Maybe YARV? There are questions around approach to take towards C extension libraries.

Read: YARV and MetaRuby Summary

Topic: maudit DRM Previous Topic   Next Topic Topic: Un nouvel Edenite

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use