[#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:33707] Re: Towards a standardized AST for Ruby code

From: Charles Oliver Nutter <headius@...>
Date: 2010-12-14 08:39:07 UTC
List: ruby-core #33707
On Sun, Dec 12, 2010 at 6:17 PM, Ryan Davis <ryand-ruby@zenspider.com> wrote:
> It certainly doesn't have to be an offline parser. It just needs a translation layer like UnifiedRuby for ParseTree.

It is not possible to translate from other formats into Unified's AST.
For example, Rubinius's current bytecode form, YARV's bytecode form,
and JRuby's upcoming IR form.

But an offline parser could do the same work as a live AST if the
source code were kept around. That's far easier to do than mapping AST
and keeping that mapping in sync.

> 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).

See above. JRuby's AST isn't too far removed from MRI's, but other
in-memory representations are.

>> 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.

"Could" is not speculative. It should be mathematically obvious that
it depends on the complexity of the mapping required. More mapping =
more complexity, and could easily exceed parsing overhead at some
point if ASTs diverge enough (or if AST is thrown away completely in
favor of a different format that takes a lot more massaging back into
standard form). Unified was based off MRI's AST (right?), so your
evidence is based on mapping from a slightly divergent AST to a
standard one that used to match more closely.

>> 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.

Pure Ruby, yes. Performance settles in around 50% slower than 1.9
*using the C extension*. I'm not sure if that says something about the
performance of racc (it's slow no matter what) or the performance of
JRuby (ZOMG only 50% slower than C).

- Charlie

In This Thread