3 ms·
This is a similar situation to Ruby and Rubinius (an alternative implementation of Ruby). Because there was no Ruby specification other than the original MRI im
by wrs 4y ago
This is a similar situation to Ruby and Rubinius (an alternative implementation of Ruby). Because there was no Ruby specification other than the original MRI implementation, the Rubinius project (a new alternative implementation) created their own test suite to codify expected Ruby behavior. However, the MRI developers didn't use it, and the behavior diverged.
The original creator gave up on the idea [0] but it was immediately taken over by others and is still maintained [1]. In case of conflict, though, Matz (lead developer on MRI), not the specification, is the source of truth [2].
[0] https://github.com/rubinius/rubinius-website-archive/blob/87fe9d13c39789ecd9140bfd825e745c6026e7b5/_posts/2014-12-31-matz-s-ruby-developers-don-t-use-rubyspec.markdown https://github.com/rubinius/rubinius-website-archive/blob/87...
[1] https://github.com/ruby/spec https://github.com/ruby/spec
[2] http://ruby.github.io/rubyspec.github.io/bugs_found/ http://ruby.github.io/rubyspec.github.io/bugs_found/