Следует отметить одно важное различие между языками: языки, определенные эталонной реализацией, и языки, определенные стандартом. Многие языки имеют стандарты: C, C ++, Java, Haskell, Smalltalk, и это только некоторые из них.
Языки, у которых есть стандарт, с меньшей вероятностью будут иметь проект, такой как RubySpec, потому что их язык уже достаточно определен стандартом.
Есть некоторые языки, которые в основном определяются эталонной реализацией. Я знаю следующие языки: Ruby, Python, Perl, PHP
Насколько мне известно, наиболее похожий проект на RubySpec - это roast для Perl.
В Python также есть много реализаций, но у них нет проекта для совместного использования своих языковых тестов, который, я уверен, есть во всех проектах. Я думаю, что это может быть связано с тем, что в Python есть подробный справочник по языку, который почти равен стандарту.
Существует как минимум одна реализация PHP в Java. Вероятно, существуют некоторые языковые спецификации для PHP, но нет и таких проектов, как RubySpec.
Особый случай для RubySpec заключается в том, что Ruby не имеет стандарта. Он определяется только эталонной реализацией МРТ. Поэтому RubySpec стремится создавать спецификации с помощью тестов. К сожалению, большинство разработчиков ядра MRI не участвуют в RubySpec. Есть некоторые критические замечания по RubySpec, поэтому MRI не принимает RubySpec. Я очень рекомендую Интервью с Брайаном Ширай о Ruby Design Process
EDIT:
Относительно стандарта для Ruby:
Ruby был определен через JIS в 2011 году и ISO / IEC в 2012 году. По крайней мере, так сказано на этой странице Википедии. Я не смог прочитать этот стандарт, так как вам нужно купить его , чтобы сделать это. Этот также дает небольшое количество информации о стандарте.
Так что на самом деле я не выразил себя правильно. Сейчас есть какой-то стандарт, но он все еще не тот, что используется различными переопределениями Ruby. Я не могу сказать, почему именно, потому что я не мог прочитать стандарт, но я думаю, что это потому, что стандарт описывает слишком мало языка. Слишком мало того, что используется всеми драгоценными камнями для Ruby.
Стандарт для Ruby отсутствовал в течение такого долгого времени, что многие действия из MRI стали ожидаемым поведением и фактически частью того, что пользователи (в том числе программисты ruby) ожидают от языка. Сложно сказать, что относится к языку и что такое детализация. Я также рекомендую этот доклад, который Брайан Ширай (ранее Форд) выступил на RubyConf 2012.
Более того, МРТ имеет много особенностей, и развитие все еще продолжается. Был выпущен Ruby 2.0.0, который имеет много новых функций. Я не думаю, что эти функции являются частью стандарта.
Поэтому я думаю, что стандарт ISO / IEC не является подходящим стандартом для языка программирования Ruby.
Я работал над MagLev, альтернативной реализацией ruby в прошлом году. Прямо сейчас я пишу свою дипломную работу бакалавра, поэтому я много исследовал в этой теме.