From: Carter Cheng Date: 2012-03-24T12:03:08+09:00 Subject: Re: Specification for the Ruby Language(current) --14dae9341053638a0204bbf4616d Content-Type: text/plain; charset=ISO-8859-1 Thanks Tony. I was wondering if there was some official language specification out there for the 1.9 series with either an operational or denotational semantic description or something of that ilk. On Sat, Mar 24, 2012 at 10:36 AM, Tony Arcieri wrote: > 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 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 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 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 > > --14dae9341053638a0204bbf4616d Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Thanks Tony. I was wondering if there was some official language specificat= ion out there for the 1.9 series with either an operational or denotational= semantic description or something of that ilk.=A0

On Sat, Mar 24, 2012 at 10:36 AM, Tony Arcieri <tony.arcieri@gmail.com> w= rote:
No, the Ruby language's specification is laboriously written by hand:

A language specification contains much more than just t= he grammar, it also contains a formal description of the behavior of the la= nguage (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> wr= ote:
Hi Tony,

It would seem to me that both are needed since = a programmer would have difficulty referring to a non-text specification. I= s the specification autogenerated from the context free grammar? I am rathe= r unfamiliar with the notion of an executable spec.

Regards,

Carter.

=
On Sat, Mar 24, 2012 at 9:30 AM, Tony Arcier= i <tony.arcieri@gmail.com> wrote:
It's impossible to know if a language co= nforms to an on-paper specification, because an on-paper specification is o= n-paper and therefore can't provide any way to check that a given imple= mentation 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:<= /div>


In my opinion, this makes RubySpec a lot more useful th= an an on-paper specification, which relies on end user feedback as they dis= cover parts of an implementation that don't match what's written do= wn. An executable specification can automatically tell you if you conform t= o it on a whim.


On Fri, Mar 23, 2012 at 6:20 PM, Carter Chen= g <cartercheng@gmail.com> wrote:
Hello,

I have been wondering if there has been som= e 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 d= escription? Is there some sort of specification out there (similar to the S= elf specification or the Scheme rnrs)?



Regards,

Ca= rter.



<= font color=3D"#888888">--
Tony Arcieri





--
Tony Arcieri


--14dae9341053638a0204bbf4616d--