[#17198] enhancing Ruby error messages for out of the bound constant Fixnum? — Guillaume Cottenceau <gc@...>

Hi,

11 messages 2001/07/03

[#17206] /* */ comments — Dave Thomas <Dave@...>

43 messages 2001/07/04
[#17207] Re: /* */ comments — Stephen White <spwhite@...> 2001/07/04

On Wed, 4 Jul 2001, Dave Thomas wrote:

[#17251] Re: /* */ comments — Sean Chittenden <sean-ruby-talk@...> 2001/07/04

> Over on http://www.rubygarden.org, dv posted a patch to parse.y that

[#17268] Re: /* */ comments — matz@... (Yukihiro Matsumoto) 2001/07/05

Hi,

[#17212] Ruby 1.6.4 Win32 .exe installer question — A Bull in the China Shop of Life <feoh@...>

Folks;

11 messages 2001/07/04

[#17225] Re: /* */ comments — Arnaud Meuret <ameuret@...4you.com>

|From: Mark Slagell [mailto:ms@iastate.edu]

17 messages 2001/07/04

[#17240] Ruby Mascot/logo — "Kevin Powick" <kpowick@...>

Hi there.

14 messages 2001/07/04

[#17281] Inheritance — "Aleksei Guzev" <aleksei.guzev@...>

15 messages 2001/07/05
[#17282] Re: Inheritance — ts <decoux@...> 2001/07/05

>>>>> "A" == Aleksei Guzev <aleksei.guzev@bigfoot.com> writes:

[#17348] Adding a method to a class at the top-level — Guillaume Cottenceau <gc@...>

Comrades,

14 messages 2001/07/05

[#17482] Aliases for class methods — "HarryO" <harryo@...>

Say I wanted to write my own version of File#open that adds some

23 messages 2001/07/08

[#17511] Ruby on Slashdot — jweirich@...

Ruby is currently mentioned on Slashdot. I posted some references.

29 messages 2001/07/08
[#17512] Re: Ruby on Slashdot — Tobias Reif <tobiasreif@...> 2001/07/08

Interesting...

[#17518] Re: Ruby on Slashdot — matz@... (Yukihiro Matsumoto) 2001/07/09

Hi,

[#17519] Re: Ruby on Slashdot — "James (ruby-talk)" <ruby@...> 2001/07/09

> |I thought about that too; what about Ruby being a standard?

[#17525] Re: Ruby on Slashdot — matz@... (Yukihiro Matsumoto) 2001/07/09

Hi,

[#17536] Re: Ruby on Slashdot — David Alan Black <dblack@...> 2001/07/09

Hello --

[#17572] Re: Constants and Variables — "HarryO" <harryo@...>

> If you want objects that don't change, try Object#freeze,

25 messages 2001/07/10

[#17732] Re: Array#sort! returns nil when array empty — hfulton@...

> Array#sort! returns nil if the array is empty, whereas ri

32 messages 2001/07/12
[#17736] Re: Array#sort! returns nil when array empty — Paul Brannan <pbrannan@...> 2001/07/12

On Fri, 13 Jul 2001 hfulton@pop-server.austin.rr.com wrote:

[#17739] Re: Array#sort! returns nil when array empty — ts <decoux@...> 2001/07/12

>>>>> "P" == Paul Brannan <pbrannan@atdesk.com> writes:

[#17746] Re: Array#sort! returns nil when array empty — Paul Brannan <pbrannan@...> 2001/07/12

On Fri, 13 Jul 2001, ts wrote:

[#17747] What is Array#- ? — Jim Freeze <jim@...> 2001/07/12

While following the Array thread, I noticed the minus

[#17752] Re: What is Array#- ? — Dave Thomas <Dave@...> 2001/07/12

Jim Freeze <jim@freeze.org> writes:

[#17753] Re: What is Array#- ? — Jim Freeze <jim@...> 2001/07/12

On Fri, 13 Jul 2001, Dave Thomas wrote:

[#17833] Extending objects — "Aleksei Guzev" <aleksei.guzev@...>

16 messages 2001/07/14
[#17834] Ruby-newbie seeks help with Rubywin starting IRB — "Euan Mee" <lucid@...> 2001/07/14

Once I fire up Rubywin, and then invoke _R_uby _I_rb from the

[#17839] Re: Ruby-newbie seeks help with Rubywin starting IRB — A Bull in the China Shop of Life <feoh@...> 2001/07/14

At 07:05 PM 7/14/01 +0900, Euan Mee spewed forth:

[#17859] Re: Creating methods on the fly — "HarryO" <harryo@...>

I

18 messages 2001/07/15

[#17925] Movement in scripting language communities to integrate XML-RPC — gsemones@... (Guerry Semones)

Greetings,

20 messages 2001/07/16
[#17934] Re: Movement in scripting language communities to integrate XML-RPC — Tobias Reif <tobiasreif@...> 2001/07/16

"out of the box" by including

[#18018] Broadcasting data — "HarryO" <harryo@...>

Does someone have an example of broadcasting data around a network using

12 messages 2001/07/18

[#18023] [ANN] libxslt Rubified! — Wai-Sun Chia <waisun.chia@...>

Hello,

16 messages 2001/07/18
[#18024] Re: [ANN] libxslt Rubified! — TAKAHASHI Masayoshi <maki@...> 2001/07/18

Wai-Sun Chia <waisun.chia@compaq.com> wrote:

[#18100] Looking for Ruby programming exercises — Wayne Vucenic <wvucenic@...> 2001/07/19

I've been learning Ruby, mostly with the Pickaxe book, and it's going

[#18188] Newbie. Sinking fast. Please help. — Matt <matt@...>

I bought Programming Ruby a number of months back and finally have an opportunity to try out Ruby. However, I can't get it to build. Actually, that's not quite accurate. It builds fine. It won't pass 'make test'.

12 messages 2001/07/20

[#18193] Re: 99 bottles of beer — "Dat Nguyen" <thucdat@...>

18 messages 2001/07/20
[#18204] Re: 99 bottles of beer — Glen Starchman <glen@...> 2001/07/20

99.downto(0){|x|w=" on the wall";u="#{x!=0?eval(x.to_s):'no more'}

[#18306] Ruby as opposed to Python? — "Mark Nenadov" <mnenadov@...>

Hello. I have toyed with the idea of trying Ruby out for some time now.

118 messages 2001/07/22
[#18759] Re: Ruby as opposed to Python? — Paul Prescod <paulp@...> 2001/07/29

Yukihiro Matsumoto wrote:

[#18774] Re: Ruby as opposed to Python? — "Florian G. Pflug" <fgp@...> 2001/07/30

On Mon, Jul 30, 2001 at 05:58:22AM +0900, Paul Prescod wrote:

[#18393] Trouble Using FXRuby on cygwin/Windows NT — rgilbert1@... (Robbie Gilbert)

Hi,

10 messages 2001/07/23

[#18566] Which database should I use? — Urban Hafner <the-master-of-bass@...>

Hello everybody,

17 messages 2001/07/26
[#18575] Re: Which database should I use? — Urban Hafner <the-master-of-bass@...> 2001/07/26

[#18582] Re: Which database should I use? — Michael Neumann <neumann@...> 2001/07/26

Urban Hafner wrote:

[ruby-talk:18899] Re: Dynamic ORBit bindings for Ruby

From: Kenichi Komiya <kom@...1.accsnet.ne.jp>
Date: 2001-07-31 17:10:42 UTC
List: ruby-talk #18899
Hi,

From: senderista@hotmail.com (Tobin Baker)
Subject: [ruby-talk:18846] Dynamic ORBit bindings for Ruby
Date: Tue, 31 Jul 2001 07:52:16 +0900

> Purely coincidentally at almost the same time that Dai announced
> server-side support for Ruby, I've just finished the alpha release of
> my own ORBit bindings for Ruby.  Only the client-side bindings are
> included in this release, but server-side bindings are being debugged
> and should be ready in a few weeks.  All basic and user-defined IDL
> types are supported, including TypeCode and Any.  Most of the standard
> ORB and CORBA::Object operations are supported as well.  The DII is
> not supported since it is really unnecessary given the dynamic nature
> of both Ruby and these bindings.

I read the README of Dynamic-ORBit with great interest.  I am
interested in partially because I want to use CORBA with Ruby,
someday.  But mostly, my motivation is to pick up some idea to
improve my Ruby IDL mapping.  But I am not working on CORBA.

I am developing the rbXPCOM --- XPCOM Ruby language binding.

   <prug>http://rbxpcom.mozdev.org</prug>

XPCOM is an acronym of Cross Platform COM (Component Object
Model) developed and used by the Mozilla project.  It uses a
modified version of OMG IDL to define interface of components
(They call it xpidl).  I see there are some design issues shared
between Ruby CORBA effort and my project.

I would like to cooperate to create better language mapping for
Ruby and idl like interface.  Just reading your README already
made me rethink the way I map idl interface to Ruby module.
Maybe I will talk about this later.

For now, I would like to share my experience to "constant" and
"out parameter".

 CONSTANT
----------

from your README
> For at least two reasons, IDL constants are *not* mapped to Ruby
> constants.  In the first place, as we all know, Ruby "constants" are not
> really constant.  This is at variance with the "immutable" semantics
> implicit in IDL.  In the second place, Ruby constants must begin with
> a capital letter.  This is clearly an unreasonable requirement to place
> on CORBA implementors who write their IDL with other languages in mind.

The first argument is also applied to all Ruby programs.  I
guess many Ruby programmers can live it.  For the second
problem, my solution is simply upcase the first letter if it is
lower case.

> Therefore I implement constants as methods returning the value of the
> constant.  E.g.,
> //IDL
> module Foo {
> 	const float pi	= 3.14159265;
> };
>
> #Ruby
> module Foo
>  def pi
>    3.14159265
>  end
> end

I actually tried this idea in version 0.0.1 of rbXPCOM.  I
discarded, though.  Due to different scoping rules, it is more
confusing than helpful, IMHO.

module Foo
  Pi = 3.14159265
  def pi
    3.14159265
  end
end

class Bar
  include Foo
  p Pi
  p pi    # error
  def Bar.bar
    p Pi
    p pi  # error
  end
end

And, if the initial letter of a idl constant is just happen to be
upper case, you have another problem.

module Foo
  def Consant; 2 ; end
end

Foo::Constant     #=> NameError: uninitialized constant Constant at Foo

Above all, Ruby programmer will upset if Foo.constants returns [].


 OUT PARAMETER
---------------

from README
> //IDL
> interface Foo {
> 	long do_it(in long in_arg, out long out_arg, inout long
>		inout_arg);
> };
>
> #Ruby
> #somehow get reference myFoo to Foo object
> ret_val, out_arg, inout_arg_ret = myFoo.do_it(in_arg, inout_arg_par)

I just looked the testcase code and gathered that you do not
pack the returned value to an array if there is only one value
to return.  Is it correct?  If so, rbXPCOM uses exactly same
mapping.

You have two experimental mappings to simulate call-by-reference
semantics.  I am interested in how well they will turn out.  It
seems they both suffer the disadvantage of requiring 'variables
declaration', though.

From some coding experience with Mozilla's components, I learned
following things (at least for Mozilla's codebase).

  * There are few method that actually return useful multiple values.
    (Many methods return array or string and its size.  But the
    size is redundant as Ruby object already know its size.)

  * Use of inout is rather rare.

So, I decided I do not need elaborate mapping to deal with the
call-by-reference thing, at least for now.  I just sticked to
what Python CORBA mapping is using for years.

Best Regards,
Kenichi Komiya.

In This Thread