[#11569] sprintf: Format specifier tokens aren't checked well enough — Florian Gross <florgro@...>

Hi,

12 messages 2007/07/01

[#11611] Import gem to Ruby 1.9 — SASADA Koichi <ko1@...>

Hi,

130 messages 2007/07/08
[#11625] Re: Import gem to Ruby 1.9 — Eric Hodel <drbrain@...7.net> 2007/07/09

On Jul 8, 2007, at 00:49, SASADA Koichi wrote:

[#11727] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/07/17

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

[#11738] Re: Import gem to Ruby 1.9 — Eric Hodel <drbrain@...7.net> 2007/07/17

On Jul 17, 2007, at 01:26, NAKAMURA, Hiroshi wrote:

[#11752] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/07/18

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

[#11794] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/07/24

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

[#11820] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/07/26

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

[#12323] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/01

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

[#12330] Re: Import gem to Ruby 1.9 — Eric Hodel <drbrain@...7.net> 2007/10/01

On Sep 30, 2007, at 22:56 , NAKAMURA, Hiroshi wrote:

[#12637] Re: Import gem to Ruby 1.9 — Eric Hodel <drbrain@...7.net> 2007/10/13

On Oct 1, 2007, at 09:57 , Eric Hodel wrote:

[#12642] Re: Import gem to Ruby 1.9 — Yukihiro Matsumoto <matz@...> 2007/10/13

Hi,

[#12643] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/13

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

[#12645] Re: Import gem to Ruby 1.9 — Eric Hodel <drbrain@...7.net> 2007/10/13

On Oct 13, 2007, at 02:00 , NAKAMURA, Hiroshi wrote:

[#12652] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/13

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

[#12656] Re: Import gem to Ruby 1.9 — Eric Hodel <drbrain@...7.net> 2007/10/13

On Oct 13, 2007, at 08:00 , NAKAMURA, Hiroshi wrote:

[#12691] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/15

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

[#12712] Re: Import gem to Ruby 1.9 — Eric Hodel <drbrain@...7.net> 2007/10/16

On Oct 15, 2007, at 07:14 , NAKAMURA, Hiroshi wrote:

[#12717] Re: Import gem to Ruby 1.9 — "Leonard Chin" <l.g.chin@...> 2007/10/17

On 10/17/07, Eric Hodel <drbrain@segment7.net> wrote:

[#12729] Re: Import gem to Ruby 1.9 — Charles Oliver Nutter <charles.nutter@...> 2007/10/17

Leonard Chin wrote:

[#12766] Re: Import gem to Ruby 1.9 — Tanaka Akira <akr@...> 2007/10/19

In article <4710890A.3020009@sarion.co.jp>,

[#12768] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/19

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

[#12771] Re: Import gem to Ruby 1.9 — Tanaka Akira <akr@...> 2007/10/19

In article <4718708D.3050001@sarion.co.jp>,

[#12792] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/20

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

[#12798] Re: Import gem to Ruby 1.9 — Tanaka Akira <akr@...> 2007/10/21

In article <471A1720.4080606@sarion.co.jp>,

[#12827] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/22

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

[#12852] Re: Import gem to Ruby 1.9 — Tanaka Akira <akr@...> 2007/10/23

In article <471CAFE0.2070104@sarion.co.jp>,

[#12853] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/23

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

[#12854] Re: Import gem to Ruby 1.9 — Tanaka Akira <akr@...> 2007/10/23

In article <471D4D1F.5050006@sarion.co.jp>,

[#12857] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/23

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

[#12896] Re: Import gem to Ruby 1.9 — Tanaka Akira <akr@...> 2007/10/24

In article <471D5665.5040209@sarion.co.jp>,

[#12914] Re: Import gem to Ruby 1.9 — "NAKAMURA, Hiroshi" <nakahiro@...> 2007/10/25

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

[#11642] Re: Proposal: runtime-modifying Kernel methods should be keywords — "Marcel Molina Jr." <marcel@...>

On Fri, Jul 13, 2007 at 03:02:06PM +0900, Charles Oliver Nutter wrote:

21 messages 2007/07/13
[#11671] Re: Proposal: runtime-modifying Kernel methods should be keywords — Ryan Davis <ryand-ruby@...> 2007/07/13

[#11645] Re: Proposal: runtime-modifying Kernel methods should be keywords — Charles Oliver Nutter <charles.nutter@...>

Charles Oliver Nutter wrote:

20 messages 2007/07/13
[#11646] Re: Proposal: runtime-modifying Kernel methods should be keywords — Yukihiro Matsumoto <matz@...> 2007/07/13

Hi,

[#11647] Re: Proposal: runtime-modifying Kernel methods should be keywords — Charles Oliver Nutter <charles.nutter@...> 2007/07/13

Yukihiro Matsumoto wrote:

[#11650] Re: Proposal: runtime-modifying Kernel methods should be keywords — Nobuyoshi Nakada <nobu@...> 2007/07/13

Hi,

[#11756] threads and heavy io on osx and linux — "ara.t.howard" <Ara.T.Howard@...>

15 messages 2007/07/18

[#11795] What libraries to be unbundled? — "NAKAMURA, Hiroshi" <nakahiro@...>

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

27 messages 2007/07/24
[#11797] Re: What libraries to be unbundled? — David Flanagan <david@...> 2007/07/24

I don't think that json should be unbundled. It is the interchange

Re: Proposal: runtime-modifying Kernel methods should be keywords

From: Calamitas <calamitates@...>
Date: 2007-07-18 03:18:06 UTC
List: ruby-core #11750
On 18/07/07, Ryan Davis <ryand-ruby@zenspider.com> wrote:
> Wow this is getting frustrating.
>
> Did you even read what I said?
>
> "My POINT was that VARIOUS ASPECTS of hotspot (the ones that CAME
> FROM SELF) do plenty for optimization in a COMPLETELY DYNAMIC WAY."
>
> There isn't a thing in self that is more restrictive than ruby. Quite
> the opposite in fact. That was what I was referring to and yet you
> sidestepped it and threw in another strawman argument. I'd be more
> willing to continue this dialog and share my experience if I thought
> you were listening and not just looking for something to shoot down.

I think there are two concepts here that you both are mixing up. One
is restriction, the other is what I would call structure. The
difference is quite subtle, but I'll try to explain what I mean.
Restriction is mainly something experienced by the programmer in the
sense of "damn I can't do this". To get back to the start of this
thread, keywords are among these because you can't use them as
variable or method names. At least not conveniently, because you can
do it through define_method and send. Structure is something that we
search for when trying to understand programs, and that compilers
search for when analyzing a program. Structure also guides us when we
build our programs. Clearly, restrictions are bad, structure is good.
Structure can seem like a restriction, with the classic example being
goto. Structured programming forbids the use of goto, and that's
generally regarded as a Good Thing, but not being able to goto is a
restriction, especially if you're used to using goto. Maybe structure
consists of the good restrictions only, so to be clear when I speak of
restrictions they are only the bad ones.

I think Charles is really asking for more structure and not for more
restrictions. Take eval for example. Currently it is a method, but
that fact by itself does not gain you much. Yes, you can potentially
do things like alias it, but it's semantics is so different from other
methods that this is potentially dangerous and mostly useless except
maybe to move it out of the way because it is a method (and we're back
where we started from,) and it can create hard to understand code.
Making it a keyword is a restriction, so that's not ideal. A %e
construct would be another possibility that offers more structure and
no "real" restriction.

Actually, eval as it is now is quite unstructured, and not just
because it is a method. It's been only recently that several people on
ruby-talk said they avoid eval. Eval can make code harder to read, and
it can even make it dangerous unless when needed, you check what you
interpolate, but that makes code even harder to read. This really has
something to do with the fact that you want to pass it code, but you
really pass it a string. Code is structured (or at least that's the
hope), a string isn't (it's a sequence of characters.) This mismatch
makes eval really hard to analyze.

At this point I pose the hypothesis that Self has fewer restrictions
than Ruby, but has more structure, and that's why Self can be
optimized much better than Ruby. I don't know Self very well, but my
experience tells me that this hypothesis must be true because it is
structure that a compiler exploits. A compiler invariably hates random
behavior (and this includes random as we perceive it, like a random
number generator or better yet, certain of Wolfram's cellular
automata.) Structure needs to be considered carefully because it can
be quite fragile. Exposing internal run time structures, when done
skilfully, removes restrictions without destroying structure. So I
agree with you; exposing internal structures can be a good thing. But
I don't think that making eval manifest contradicts that.

I hope this makes sense to you. It's more philosophical than anything
else really, largely because restriction is a subjective turn (you
don't care about something you can't do until you want to do it,) and
because structure is something that is hard to quantify. It's just
some feeling/thought that has been growing as I experience/learn more
about all kinds of compiler techniques.

Peter

In This Thread