--00151747637a399a1604bbf401e9
Content-Type: text/plain; charset=ISO-8859-1

No, the Ruby language's specification is laboriously written by hand:

http://www.ipa.go.jp/osc/english/ruby/ruby_draft_specification_agreement.html

A language specification contains much more than just the grammar, it also
contains a formal description of the behavior of the language (i.e. its
semantics) as well.

Personally I find the RubySpec code examples much more useful than a formal
description of the language.

On Fri, Mar 23, 2012 at 6:51 PM, Carter Cheng <cartercheng / gmail.com> wrote:

> Hi Tony,
>
> It would seem to me that both are needed since a programmer would have
> difficulty referring to a non-text specification. Is the specification
> autogenerated from the context free grammar? I am rather unfamiliar with
> the notion of an executable spec.
>
> Regards,
>
> Carter.
>
>
> On Sat, Mar 24, 2012 at 9:30 AM, Tony Arcieri <tony.arcieri / gmail.com>wrote:
>
>> It's impossible to know if a language conforms to an on-paper
>> specification, because an on-paper specification is on-paper and therefore
>> can't provide any way to check that a given implementation matches what has
>> been written down.
>>
>> In order to do that sort of automatic checking, you need an executable
>> specification of the language, which is what RubySpec provides:
>>
>> http://rubyspec.org/
>>
>> In my opinion, this makes RubySpec a lot more useful than an on-paper
>> specification, which relies on end user feedback as they discover parts of
>> an implementation that don't match what's written down. An executable
>> specification can automatically tell you if you conform to it on a whim.
>>
>>
>> On Fri, Mar 23, 2012 at 6:20 PM, Carter Cheng <cartercheng / gmail.com>wrote:
>>
>>> Hello,
>>>
>>> I have been wondering if there has been some updates since the
>>> publication of the book by Flanagan and Matsumoto? I am curious how much I
>>> can expect JRuby, CRuby etc. to still conform to this description? Is there
>>> some sort of specification out there (similar to the Self specification or
>>> the Scheme rnrs)?
>>>
>>>
>>>
>>> Regards,
>>>
>>> Carter.
>>>
>>
>>
>>
>> --
>> Tony Arcieri
>>
>>
>


-- 
Tony Arcieri

--00151747637a399a1604bbf401e9
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

No, the Ruby language&#39;s specification is laboriously written by hand:<div><br></div><div>http://www.ipa.go.jp/osc/english/ruby/ruby_draft_specification_agreement.html</div>

<div><br></div><div>A language specification contains much more than just the grammar, it also contains a formal description of the behavior of the language (i.e. its semantics) as well.</div><div><br></div><div>Personally I find the RubySpec code examples much more useful than a formal description of the language.</div>

<div><br><div class="gmail_quote">On Fri, Mar 23, 2012 at 6:51 PM, Carterheng <span dir="ltr">&lt;cartercheng / gmail.com&gt;</span> wrote:<br><blockquote class="gmail_quote"tyle="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi Tony,<div><br></div><div>It would seem to me that both are needed since a programmer would have difficulty referring to a non-text specification. Is the specification autogenerated from the context free grammar? I am rather unfamiliar with the notion of an executable spec.</div>


<div><br></div><div>Regards,</div><div><br></div><div>Carter.<div><div class="h5"><br><br><div class="gmail_quote">On Sat, Mar 24, 2012 at 9:30 AM, Tony Arcieri <span dir="ltr">&lt;<a href="mailto:tony.arcieri / gmail.com" target="_blank">tony.arcieri / gmail.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It&#39;s impossible to know if a language conforms to an on-paper specification, because an on-paper specification is on-paper and therefore can&#39;t provide any way to check that a given implementation matches what has been written down.<div>




<br></div><div>In order to do that sort of automatic checking, you need an executable specification of the language, which is what RubySpec provides:</div><div><br></div><div><a href="http://rubyspec.org/" target="_blank">http://rubyspec.org/</a></div>




<div><br></div><div>In my opinion, this makes RubySpec a lot more useful than an on-paper specification, which relies on end user feedback as they discover parts of an implementation that don&#39;t match what&#39;s written down. An executable specification can automatically tell you if you conform to it on a whim.<div>


<div><br>

<br><div class="gmail_quote">On Fri, Mar 23, 2012 at 6:20 PM, Carter Cheng <span dir="ltr">&lt;<a href="mailto:cartercheng / gmail.com" target="_blank">cartercheng / gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>Hello,</div><div><br></div>I have been wondering if there has been some updates since the publication of the book by Flanagan and Matsumoto? I amurious how much I can expect JRuby, CRuby etc. to still conform to this description? Is there some sort of specification out there (similar to the Self specification or the Scheme rnrs)?<div>





<br></div><div><br><div><br></div><div>Regards,</div><div><br></div><div>Carter.</div></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br>Tony Arcieri<br><br>
</font></span></div>
</blockquote></div><br></div></div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Tony Arcieri<br><br>
</div>

--00151747637a399a1604bbf401e9--