[#1147] Copying RVALUE — why the lucky stiff <ruby-core@...>

Hello, everyone. Hope you are all doing well.

18 messages 2003/06/17
[#1155] Re: Copying RVALUE — matz@... (Yukihiro Matsumoto) 2003/06/20

Hi,

[#1157] Re: Copying RVALUE — why the lucky stiff <ruby-core@...> 2003/06/20

Yukihiro Matsumoto (matz@ruby-lang.org) wrote:

[#1173] class.c code cleanup (rb_class_*_instance_methods) — Matthew Dempsky <jivera@...>

Hi, I'm new to this mailing list so I don't know the procedure for

15 messages 2003/06/22
[#1174] Re: [Patch] class.c code cleanup (rb_class_*_instance_methods) — nobu.nokada@... 2003/06/22

Hi,

[#1175] Re: [Patch] class.c code cleanup (rb_class_*_instance_methods) — Matthew Dempsky <jivera@...> 2003/06/22

On Sun, 2003-06-22 at 05:36, nobu.nokada@softhome.net wrote:

[#1176] Re: [Patch] class.c code cleanup (rb_class_*_instance_methods) — nobu.nokada@... 2003/06/22

Hi,

[#1193] Re: [Patch] class.c code cleanup (rb_class_*_instance_methods) — Matthew Dempsky <jivera@...> 2003/06/25

On Sun, 2003-06-22 at 07:41, nobu.nokada@softhome.net wrote:

[#1177] Re: In 1.8.0 nil.to_s is not the same as "" — ts <decoux@...>

14 messages 2003/06/22

Re: Copying RVALUE

From: why the lucky stiff <ruby-core@...>
Date: 2003-06-20 20:52:36 UTC
List: ruby-core #1161
Tanaka Akira (akr@m17n.org) wrote:
> 
> One idea is creating empty array just after the anchor.
> 

This is an idea, though I'd like something more general.  The anchor
could be an array, a hash, an object, a struct, anything with depth.
Using that technique, everytime I want to support some new kind of
RVALUE, I have to change my implementation.

What I'm asking for is the equivalent of a pointer-pointer in the symbol
table, which I think could be valuable to extension writers.  Either
access to copy RVALUEs _or_ a reference struct, which could allow
me to use a VALUE as a pointer to another VALUE.  I have looked at
WeakRef, but it won't allow me to reassign the reference.  Plus, WeakRef
would throw off roundtripping of circular references.

  struct RRef {
    struct RBasic basic;
    VALUE ptr;
  }

In the extensions, you would pass around the VALUE to the RRef, but Ruby
would always call the RRef.ptr.  Similar to Delegator, WeakRef, but
simpler implementation.  Although this is a major change, especially for
those who serialize data.

I'd prefer it if I could copy an RVALUE.

_why

In This Thread