[#39810] 2.0 feature questionnaire — SASADA Koichi <ko1@...>

I made a questionnaire "What do you want to introduce in 2.0?" in my

59 messages 2011/10/01
[#39822] Re: 2.0 feature questionnaire — Jeremy Kemper <jeremy@...> 2011/10/02

2011/10/1 SASADA Koichi <ko1@atdot.net>:

[#39827] Re: 2.0 feature questionnaire — Yukihiro Matsumoto <matz@...> 2011/10/02

Hi,

[#40324] Re: 2.0 feature questionnaire — Charles Oliver Nutter <headius@...> 2011/10/25

2011/10/1 SASADA Koichi <ko1@atdot.net>:

[#39823] Discussion results — SASADA Koichi <ko1@...>

Hi,

34 messages 2011/10/02
[#39840] Re: Discussion results — Intransition <transfire@...> 2011/10/02

I did not have the fortune of attending the discussion, but I would

[#39844] Re: Discussion results — Yukihiro Matsumoto <matz@...> 2011/10/02

Hi,

[#39851] Re: Discussion results (here documents with indents) — "Martin J. Dürst" <duerst@...> 2011/10/03

Hello Matz,

[#39862] Re: Discussion results (here documents with indents) — Yusuke Endoh <mame@...> 2011/10/03

Hello,

[#39874] Re: Discussion results (here documents with indents) — Trans <transfire@...> 2011/10/03

On Mon, Oct 3, 2011 at 8:16 AM, Yusuke Endoh <mame@tsg.ne.jp> wrote:

[#39915] [Ruby 1.9 - Feature #5400][Open] Remove flip-flops in 2.0 — Magnus Holm <judofyr@...>

29 messages 2011/10/04

[#39957] [Ruby 1.9 - Bug #5407][Open] Cannot build ruby-1.9.3-rc1 with TDM-GCC 4.6.1 on Windows XP SP3 — Heesob Park <phasis@...>

11 messages 2011/10/05

[#39993] [Ruby 1.9 - Feature #2348] RBTree Should be Added to the Standard Library — David Graham <david.malcom.graham@...>

10 messages 2011/10/06

[#40037] [Ruby 1.9 - Bug #5422][Open] File.fnmatch != Dir.glob # {no,sets} — Suraj Kurapati <sunaku@...>

14 messages 2011/10/07

[#40073] [Ruby 1.9 - Feature #5427][Open] Not complex patch to improve `require` time (load.c) — Yura Sokolov <funny.falcon@...>

31 messages 2011/10/09

[#40090] [Ruby 1.9 - Bug #5433][Open] PTY.spawn Kernel panic on macos lion — Gamaliel Toro <argami@...>

14 messages 2011/10/10

[#40188] [Ruby 2.0 - Feature #5454] keyword arguments — Yukihiro Matsumoto <matz@...>

16 messages 2011/10/17
[#40189] Re: [Ruby 2.0 - Feature #5454] keyword arguments — Evan Phoenix <evan@...> 2011/10/17

This looks very interesting=21 Would someone be willing to translate to e=

[#40191] Re: [Ruby 2.0 - Feature #5454] keyword arguments — Yutaka Hara <yutaka.hara@...> 2011/10/18

Hi,

[#40192] Re: [Ruby 2.0 - Feature #5454] keyword arguments — Yukihiro Matsumoto <matz@...> 2011/10/18

Hi,

[#40259] Counseling — Perry Smith <pedzsan@...>

Ruby and I are back in counseling... Its always the same thing with =

21 messages 2011/10/21
[#40263] Re: Counseling — "Haase, Konstantin" <Konstantin.Haase@...> 2011/10/21

What's your $LC_CTYPE? What OS are you on?

[#40264] Re: Counseling — Gon軋lo Silva <goncalossilva@...> 2011/10/21

Hi all,

[#40266] Re: Counseling — Bill Kelly <billk@...> 2011/10/21

Gon軋lo Silva wrote:

[#40271] Can rubygems save us from "binary-compatibility hell"? — Yusuke Endoh <mame@...>

Hello, rubygems developers --

17 messages 2011/10/22

[#40290] [ruby-trunk - Feature #5474][Assigned] keyword argument — Yusuke Endoh <mame@...>

36 messages 2011/10/23
[#40298] Re: [ruby-trunk - Feature #5474][Assigned] keyword argument — Yukihiro Matsumoto <matz@...> 2011/10/24

Hi,

[#40414] Re: [ruby-trunk - Feature #5474][Assigned] keyword argument — Charles Oliver Nutter <headius@...> 2011/10/26

More refinement below. I think we're on a good path here.

[#40416] Re: [ruby-trunk - Feature #5474][Assigned] keyword argument — Yukihiro Matsumoto <matz@...> 2011/10/26

Hi,

[#40418] Re: [ruby-trunk - Feature #5474][Assigned] keyword argument — Joshua Ballanco <jballanc@...> 2011/10/26

On Wed, Oct 26, 2011 at 2:08 PM, Yukihiro Matsumoto <matz@ruby-lang.org>wrote:

[#40425] Re: [ruby-trunk - Feature #5474][Assigned] keyword argument — Yukihiro Matsumoto <matz@...> 2011/10/27

Hi,

[#40311] [ruby-trunk - Feature #5478][Open] import Set into core, add syntax — Konstantin Haase <Konstantin.Haase@...>

33 messages 2011/10/24

[#40312] [ruby-trunk - Feature #5479][Open] import StringIO into core, add String#to_io — Konstantin Haase <Konstantin.Haase@...>

9 messages 2011/10/24

[#40316] [ruby-trunk - Feature #5481][Open] Gemifying Ruby standard library — Hiroshi Nakamura <nakahiro@...>

86 messages 2011/10/24
[#40334] [ruby-trunk - Feature #5481] Gemifying Ruby standard library — Lucas Nussbaum <lucas@...> 2011/10/25

[#40322] [ruby-trunk - Feature #5482][Open] Rubinius as basis for Ruby 2.0 — Thomas Sawyer <transfire@...>

19 messages 2011/10/25

[#40356] JIT development for MRI — Carter Cheng <cartercheng@...>

Hello,

25 messages 2011/10/25
[#40390] Re: JIT development for MRI — SASADA Koichi <ko1@...> 2011/10/26

Hi,

[#40394] Re: JIT development for MRI — Carter Cheng <cartercheng@...> 2011/10/26

Dear Koichi SASADA,

[#40395] Re: JIT development for MRI — Carter Cheng <cartercheng@...> 2011/10/26

I noticed that you used context threading in YARV. Do you have some analysis

[#40417] Re: JIT development for MRI — SASADA Koichi <ko1@...> 2011/10/26

Thanks for reference.

[#40423] Re: JIT development for MRI — Carter Cheng <cartercheng@...> 2011/10/26

Thanks Koichi.

[#40412] [ruby-trunk - Bug #5486][Open] rb_stat() doesn’t respect input encoding — Nikolai Weibull <now@...>

15 messages 2011/10/26

[#40462] [ruby-trunk - Bug #5492][Open] MinGW Installation with Ruby 1.9.3rc1 Broken — Charlie Savage <cfis@...>

14 messages 2011/10/27

[#40573] [ruby-trunk - Bug #5530][Open] SEEK_SET malfunctions when used with 'append' File.open mode — "Joshua J. Drake" <ruby-lang.jdrake@...>

17 messages 2011/10/31

[#40586] [ruby-trunk - Feature #5531][Open] deep_value for dealing with nested hashes — Kyle Peyton <kylepeyton@...>

19 messages 2011/10/31

[ruby-core:40411] Re: 2.0 feature questionnaire

From: Rocky Bernstein <rockyb@...>
Date: 2011-10-26 12:00:05 UTC
List: ruby-core #40411
On Wed, Oct 26, 2011 at 3:39 AM, Charles Oliver Nutter
<headius@headius.com>wrote:

>
> As you probably know, I'm still of the opinion that debug time and
> runtime have completely different characteristics.


Yes, I thought it improbable that you would believe otherwise.

Expecting that
> debug-time binding access (frame access, local variable modification,
> etc) should be available at normal runtime is unreasonable...


I wouldn't put it so strongly, especially as I can think of many
implementations of dynamic languages, including Ruby implementations where
this is the case and where it is unlikely for those implementations to
change drastically.

it's not
> possible to do this without killing many, many optimizations.


I understand your point and don't disagree.  The extent to which
optimization is important and how important versus allowing run-time
dynamicism including environment access (which is typically used by
debuggers in systems that provide it) I am unwilling to take a stand or pass
judgement on.

You and
> I discussed that those optimizations could still be active and
> debuggers would just lose functionality...but I'm not sure I see that
> being useful.


I think I take a minority opinion here. Debugging for me is about
transparency. Here, that means giving the programmer an understanding of
what the running program is doing -- whatever that may be. If the
translation system has heavily modified the source code, so be it. When
there's something horribly wrong that a programmer needs to be involved,
offering what is there is better than saying, sorry you are out of luck.

For decades programmers have debugged optimized C code with gdb. Is it the
preferred way to go? No. Given the choice of starting over but first
recompiling without optimization and running again with debugging, just
about always a C programmer will do that. But in some situations you can't.
 I think there would be a number of C programmers, myself included, who
would be disappointed if you said you can *only* debug C code that has no
optimization.

If JRuby eliminated all local variables for a given
> method and the debugger was unable to see them, what use is the local
> variable feature of the debugger


Right, it's not useful in that particular context. What I'd request  though
is that the transformation system kept some sort of information indicating
that local variables were eliminated. It could be done on a very coarse
level, such as recording that you are in optimized code or recording the
compilation options. Or a fine level such as recording which locals were
eliminated.

In the patches to MRI/YARV 1.9.2, one thing I changed is the ability to not
throw out the compile flags that are normally stored during compilation;
this is the default if we think debugging is on which is determined if the
__SCRIPT_LINES__ hash is set.

In the gcc case, sometimes one will ask about local variables and if they
happen to be in a register you may get the wrong answer. It's not great, but
personally I've gotten used to it. And I prefer that to the "sorry out of
luck" answer. Or a solution where a debugger that *never* allows me ask
about local variables.  Again, I am probably in the minority, but I
sometimes may disassemble code in gdb which usually clues me into whether I
can expect the variable to be stored in the place gdb is probably looking
at.

So again, I probably am the only one who uses this, but for the trepanning
debuggers as well as for the python debuggers before it, have a command to
show bytecode disassembly.



I'm still of the opinion that
> debugging will almost always be most useful in a mode that limits
> optimizations normally invisible to the user, so we're talking about a
> completely different mode of execution where full-system binding
> access may be just fine.
>

I don't disagree. And this works. Obviously, because that's how debugging in
more static languages invariably works. It could also be that way for more
dynamic languages as well. But it's all in the details. And that's why I
take interest here.

Let's take for example the recent proposal of adding Dtrace enhancements for
debugging in MRI 2.0. I'm not totally sure what that means (which is my
bad), but I suspect that whatever this does it has nothing to change the way
variables are accessing/modified in a debugger.

So before closing, I will reiterate an observation I've only slowly noticed:
the state of debuggers has a tendency of getting worse. Just as you would
like to hold the line or improve what can be optimized in a language system,
I would like to hold the line or improve debugging, tracing, profiling and
debuggers in such systems.


>
> In any case, this is a bit off topic.
>

Yep. And with this too long post I think I have overstayed my welcome. In
the back of my mind I think most of what I want is relevant to or of
interest to very few. So if this falls on deaf ears, like the ability to ask
about local variables: so be it.


> - Charlie
>
>

In This Thread