[#33640] [Ruby 1.9-Bug#4136][Open] Enumerable#reject should not inherit the receiver's instance variables — Hiro Asari <redmine@...>

Bug #4136: Enumerable#reject should not inherit the receiver's instance variables

10 messages 2010/12/08

[#33667] [Ruby 1.9-Bug#4149][Open] Documentation submission: syslog standard library — mathew murphy <redmine@...>

Bug #4149: Documentation submission: syslog standard library

11 messages 2010/12/10

[#33683] [feature:trunk] Enumerable#categorize — Tanaka Akira <akr@...>

Hi.

14 messages 2010/12/12
[#33684] Re: [feature:trunk] Enumerable#categorize — "Martin J. Dst" <duerst@...> 2010/12/12

[#33687] Towards a standardized AST for Ruby code — Magnus Holm <judofyr@...>

Hey folks,

23 messages 2010/12/12
[#33688] Re: Towards a standardized AST for Ruby code — Charles Oliver Nutter <headius@...> 2010/12/12

On Sun, Dec 12, 2010 at 9:55 AM, Magnus Holm <judofyr@gmail.com> wrote:

[#33689] Re: Towards a standardized AST for Ruby code — "Haase, Konstantin" <Konstantin.Haase@...> 2010/12/12

On Dec 12, 2010, at 17:46 , Charles Oliver Nutter wrote:

[#33763] [Ruby 1.9-Bug#4168][Open] WeakRef is unsafe to use in Ruby 1.9 — Brian Durand <redmine@...>

Bug #4168: WeakRef is unsafe to use in Ruby 1.9

43 messages 2010/12/17

[#33815] trunk warnflags build issue with curb 0.7.9? — Jon <jon.forums@...>

As this may turn out to be a 3rd party issue rather than a bug, I'd like some feedback.

11 messages 2010/12/22

[#33833] Ruby 1.9.2 is going to be released — "Yuki Sonoda (Yugui)" <yugui@...>

-----BEGIN PGP SIGNED MESSAGE-----

15 messages 2010/12/23

[#33846] [Ruby 1.9-Feature#4197][Open] Improvement of the benchmark library — Benoit Daloze <redmine@...>

Feature #4197: Improvement of the benchmark library

15 messages 2010/12/23

[#33910] [Ruby 1.9-Feature#4211][Open] Converting the Ruby and C API documentation to YARD syntax — Loren Segal <redmine@...>

Feature #4211: Converting the Ruby and C API documentation to YARD syntax

10 messages 2010/12/26

[#33923] [Ruby 1.9-Bug#4214][Open] Fiddle::WINDOWS == false on Windows — Jon Forums <redmine@...>

Bug #4214: Fiddle::WINDOWS == false on Windows

15 messages 2010/12/27

[ruby-core:33696] Re: Towards a standardized AST for Ruby code

From: Ryan Davis <ryand-ruby@...>
Date: 2010-12-13 00:17:39 UTC
List: ruby-core #33696
On Dec 12, 2010, at 08:46 , Charles Oliver Nutter wrote:

> For the record, JRuby will never freeze its AST. We have made changes
> to it (for various reasons) at roughly the same rate since I started
> working on the project in 2005. It's likely changes will continue to
> happen. So any "standard" AST should be produced by a separate offline
> parser.

It certainly doesn't have to be an offline parser. It just needs a translation layer like UnifiedRuby for ParseTree.

> I will cast my vote, whatever it's worth, for just enhancing and
> improving Ryan's RubyParser. It already parses 1.8 code very well, and
> being racc-based it's closest in structure to the canonical C Ruby
> parser, which will make enhancing and improving it far easier than
> one-offs. It also has an extensive test suite, backward-compatibility
> with ParseTree, and reasonable performance.
> 
> Converters will always suffer from changes that happen to each impl's
> AST, and will need constant maintenance. RubyParser needs no such
> maintenance beyond adding new syntax features as they are added to
> Ruby proper.

But if that converter ships with the impl, it is easy to keep in sync. It only took me an hour or so everytime MRI changed something and my test suite failed. Since the person implementing the change knows it best, it'd be trivial for them to change the converter at the same time (most of that hour was me figuring out what the change was and why... the code part is the easy part).

> Native parsers will be faster; but re-walking the native ASTs and
> converting them to a standard format could be nearly as "slow" as a
> pure-Ruby parser.

Totally disagree. "could" is speculative and I have plenty of proof that it is false. Manipulating an AST is nearly free compared to tracking all the BS involved with lexing and parsing ruby.

> The only down side at the moment is that RubyParser does not support
> 1.9 syntax. Ryan has a bounty on adding such support (or at least
> adding tests, which may encourage him to add such support) and I'll
> toss in a few bucks as well.
> http://blog.zenspider.com/2010/12/bounty-ruby-parser-needs-19-lo.html

And that bounty still stands... but I haven't gotten any nibbles yet. :(

> I'd also love to see someone implement a native racc backend for
> JRuby...but that's a separate discussion :)

I assume you're running the pure ruby racc runtime in jruby? How's the performance? I was talking to Alan at gemstone about optimizations to it that could speed it up a fair amount but I never got time to implement them before I left EY.


In This Thread