[#29932] Happy 2002! — "Rich Kilmer" <rich@...>

Happy New Year from Washington DC!

24 messages 2002/01/01
[#29938] RE: Happy 2002! — "James Britt (rubydev)" <james@...> 2002/01/01

>

[#29954] Re: Happy 2002! — Dinakar <Desai.Dinakar@...> 2002/01/01

"James Britt (rubydev)" wrote:

[#29991] Execing command with backquotes — mail02@... (Frank Benoit)

Hi

13 messages 2002/01/01

[#30101] Ruby Weekly News rdf feed now available — Dave Thomas <Dave@...>

12 messages 2002/01/03

[#30191] chomp for arrays? — dempsejn@...

Hi All,

25 messages 2002/01/04
[#30238] Re: chomp for arrays? — adamspitz@... (Adam Spitz) 2002/01/04

How about something like this?

[#30248] Re: chomp for arrays? — Massimiliano Mirra <list@...> 2002/01/05

On Sat, Jan 05, 2002 at 04:53:14AM +0900, Adam Spitz wrote:

[#30357] snippet exchange (was: Re: Re: chomp for arrays?) — David Alan Black <dblack@...> 2002/01/06

Hello --

[#30369] Re: snippet exchange (was: Re: Re: chomp for arrays?) — "Mark Hahn" <mchahn@...> 2002/01/06

A daydream of mine is a "super-require" that if the file was not found, the

[#30401] Re: snippet exchange (was: Re: Re: chomp for arrays?) — Dan Sugalski <dan@...> 2002/01/07

At 06:31 AM 1/7/2002 +0900, Mark Hahn wrote:

[#30195] should I use ruby instead of perl — vekkuli ketkutin <qvyht@...>

simple question...

25 messages 2002/01/04

[#30265] Structs and Marshalling — Albert Wagner <alwagner@...>

I keep getting myself tripped up when I Marshal Struct objects. I typically

18 messages 2002/01/05
[#30281] Re: Structs and Marshalling — ts <decoux@...> 2002/01/05

>>>>> "A" == Albert Wagner <alwagner@tcac.net> writes:

[#30334] Re: Structs and Marshalling — Albert Wagner <alwagner@...> 2002/01/06

On Saturday 05 January 2002 06:25 am, you wrote:

[#30473] Re: [ruby-talk:30334] Re: Structs and Marshalling — matz@... (Yukihiro Matsumoto) 2002/01/07

Hi,

[#30528] Possible bug with struct.c (Re: Re: Structs and Marshalling) — ts <decoux@...> 2002/01/07

>>>>> "Y" == Yukihiro Matsumoto <matz@ruby-lang.org> writes:

[#30546] Re: Possible bug with struct.c (Re: Re: Structs and Marshalling) — nobu.nokada@... 2002/01/07

At Tue, 8 Jan 2002 02:36:12 +0900,

[#30274] The Ruby Way — "Conrad Schneiker" <schneiker@...>

Hi,

31 messages 2002/01/05
[#30275] RE: The Ruby Way — "Curt Hibbs" <curt@...> 2002/01/05

> From: Conrad Schneiker [mailto:schneiker@jump.net]

[#30276] Re: The Ruby Way — "Curt Hibbs" <curt@...> 2002/01/05

That was supposed to say "how do I implement a hash with duplicate keys?"

[#30320] Sorting a Hash by value of integer stored in the Hash — Michael Joner <finalfrontier@...>

I have a program which creates a Hash array. The ultimate result is a

14 messages 2002/01/06

[#30327] one liner / overriden class repository — "Jack Dempsey" <dabigdemp@...>

Why aim if not high? :-)

15 messages 2002/01/06

[#30366] class name reported differently in different contexts — Joel VanderWerf <vjoel@...>

30 messages 2002/01/06
[#30380] Re: class name reported differently in different contexts — "Chr. Rippel" <chr_news@...> 2002/01/06

[#30496] Re: class name reported differently in different contexts — <ale@...> 2002/01/07

On Mon, 7 Jan 2002, Chr. Rippel wrote:

[#30372] [ANN] Invitation to join LotY (Language of the Year) project, 2002: learning Haskell — David Alan Black <dblack@...>

Dear fellow programmers,

10 messages 2002/01/06

[#30431] Re: snippet exchange (was: Re: Re: chomp for arrays?) — "Jack Dempsey" <dabigdemp@...>

The way i was thinking of this working would be this: someone has heard of a

14 messages 2002/01/07

[#30461] Re: the [ruby-talk] is gone? — "Jack Dempsey" <dabigdemp@...>

Hi Matz,

13 messages 2002/01/07

[#30494] Segfault with druby and fork — Michael Witrant <mike@...>

Hello,

24 messages 2002/01/07
[#30510] Re: Segfault with druby and fork — matz@... (Yukihiro Matsumoto) 2002/01/07

Hi,

[#30543] Re: Segfault with druby and fork — Michael Witrant <mike@...> 2002/01/07

On Tue, 8 Jan 2002 00:37:14 +0900

[#30640] Re: Segfault with druby and fork — matz@... (Yukihiro Matsumoto) 2002/01/08

Hi,

[#30644] An Update on the FreeRIDE Project — "Curt Hibbs" <curt@...> 2002/01/08

I wanted to give everyone an update on where we are with the FreeRIDE

[#30655] Re: An Update on the FreeRIDE Project — bobx@... (Bob) 2002/01/08

Documentation should also be a big(?) concern. I am new to Ruby as

[#30539] RDoc Alpha-6 available — Dave Thomas <Dave@...>

37 messages 2002/01/07

[#30737] rpkg 0.1 (long) — Massimiliano Mirra <list@...>

<yaaawn>

16 messages 2002/01/10

[#30866] Dir.entries have no home — Ron Jeffries <ronjeffries@...>

Chet and I were writing a little code manager yesterday and we wrote

38 messages 2002/01/11

[#30920] MetaRuby : RubySchema.rb howto? — Tobias Reif <tobiasreif@...>

Hi,

15 messages 2002/01/11
[#30953] Re: MetaRuby : RubySchema.rb howto? — Mathieu Bouchard <matju@...> 2002/01/12

[#30969] Re: MetaRuby : RubySchema.rb howto? — Tobias Reif <tobiasreif@...> 2002/01/12

Mathieu Bouchard wrote:

[#30949] Another suggestion for FreeRIDE — ptkwt@...1.aracnet.com (Phil Tomson)

Based on some discussions over at comp.lang.python...

13 messages 2002/01/12

[#31017] Why I think Ruby will eventually be more popular than Python — gandy@... (Thomas Gandy)

Ruby and Python both play in the same niche: they're both Object

9 messages 2002/01/12

[#31080] Best way for platf. independent compression? — Massimiliano Mirra <list@...>

Currently, rpkg builds packets by tar'ring and gzip'ping the source

25 messages 2002/01/13
[#31112] Re: Best way for platf. independent compression? — Chris Gehlker <gehlker@...> 2002/01/14

On 1/13/02 1:42 PM, "Massimiliano Mirra" <list@chromatic-harp.com> wrote:

[#31153] Re: Best way for platf. independent compression? — Massimiliano Mirra <list@...> 2002/01/14

On Mon, Jan 14, 2002 at 12:08:58PM +0900, Chris Gehlker wrote:

[#31085] Small Methods - a ramble — Ron Jeffries <ronjeffries@...>

I noticed in some code that Chet and I were writing that, as Smalltalkers, we tend to write really

45 messages 2002/01/13
[#31170] Re: Small Methods - a ramble — Brian Marick <marick@...> 2002/01/14

Ron Jeffries wrote:

[#31099] a wishlist for ruby 2.0 — Mathieu Bouchard <matju@...>

49 messages 2002/01/14
[#31237] Re: a wishlist for ruby 2.0 — matz@... (Yukihiro Matsumoto) 2002/01/15

Hi,

[#31276] Re: a wishlist for ruby 2.0 — Mathieu Bouchard <matju@...> 2002/01/15

[#31251] Swig Ruby documentation mods. — Hugh Sasse Staff Elec Eng <hgs@...>

I have been trying to use Swig Ruby recently, and in attempting to

10 messages 2002/01/15

[#31262] grabbing stuff from web pages — Ron Jeffries <ronjeffries@...>

Part of my web site has recommended books. I use the cover jpegs from

11 messages 2002/01/15

[#31275] how to get all the reserved words? — Tobias Reif <tobiasreif@...>

Hi;

16 messages 2002/01/15

[#31289] memory usage question — "Mark Hahn" <mchahn@...>

I need to write a script that will use a hash with 4 million strings of 16

30 messages 2002/01/15

[#31311] Vote for Windows Installer packages — Andrew Hunt <andy@...>

14 messages 2002/01/15

[#31404] Re: A question on Ruby Threads — "Tobias DiPasquale" <anany@...>

In article <a242re$gop@ftp.ee.vill.edu>, "Chris Gehlker"

15 messages 2002/01/16

[#31424] A few words on threads — "Avdi B. Grimm" <avdi@...>

Warning: many strong personal opinions and broad

14 messages 2002/01/16

[#31442] #59 Add fsync method to IO class — hensleyl@... (Leslie Hensley)

Adding fsync and fdatasync methods to the IO class will allow Ruby to

17 messages 2002/01/16

[#31512] Hello! Array sub classing? — Markt <markt@...>

Hello Ruby lovers!

23 messages 2002/01/17

[#31533] Possible bug in Mac version? — Dave Thomas <Dave@...>

16 messages 2002/01/17

[#31564] The first alternative RDoc template — Dave Thomas <Dave@...>

22 messages 2002/01/17

[#31658] dynamic method creation — "Albert L. Wagner" <alwagner@...>

I have a need to dynamically create methods with method names

16 messages 2002/01/18

[#31711] Re: zip on Linux — "Mirabai Neumann" <webmaster@...>

19 messages 2002/01/19

[#31727] Keeping track of multiple Ruby discussion sites. — "James Britt (rubydev)" <james@...>

Recently, Massimiliano Mirra wrote:

13 messages 2002/01/19

[#31735] installing mod_ruby --> seg fault in ruby-rdtool — craig@...

At least that's where core dumped. FreeBSD/Alpha (4.4-RELEASE). New to

16 messages 2002/01/19

[#31741] $_ as default parameter for a function — thomass@... (Thomas)

I'd like the fragment below to produce "blah blah", but it doesn't

15 messages 2002/01/19

[#31882] RANT: Ruby GUI API — Sean Russell <ser@...>

I started this rant in another thread, where it was way OT, so I'm moving

60 messages 2002/01/21

[#31937] Re: RANT: Ruby GUI API — Ben Crowell <crowell02@...>

M. Mirra wrote:

28 messages 2002/01/22
[#31948] Re: RANT: Ruby GUI API — John Carter <john.carter@...> 2002/01/22

On Tue, 22 Jan 2002, Ben Crowell wrote:

[#32056] Ruby Publishing Framework v0.5.0 — Bryan Murphy <bryan@...>

Ruby Publishing Framework

15 messages 2002/01/22

[#32106] about time for seperate lists? — "Tobias DiPasquale" <anany@...>

Hi all,

12 messages 2002/01/23

[#32121] : ruby-talk seperation — "Tobias DiPasquale" <anany@...>

Hi all,

19 messages 2002/01/23

[#32177] — Eugene Scripnik <Eugene.Scripnik@...>

I have a problem loading files from my script (I mean Kernel::load):

20 messages 2002/01/23
[#32187] — nobu.nokada@... 2002/01/23

Hi,

[#32722] Re: — Eugene Scripnik <Eugene.Scripnik@...> 2002/01/29

Hello nobu,

[#32728] Re: — nobu.nokada@... 2002/01/29

Hi,

[#32793] Re[2]: — Eugene Scripnik <Eugene.Scripnik@...> 2002/01/30

Tuesday, January 29, 2002, 5:05:05 PM, you wrote:

[#32799] $: in mod_ruby — nobu.nokada@... 2002/01/30

Hi,

[#32957] Re: $: in mod_ruby — Eugene Scripnik <Eugene.Scripnik@...> 2002/02/01

Wednesday, January 30, 2002, 4:55:23 PM, you wrote:

[#32233] Subclassing vs Subtyping (partly OOP vs FP) — Robert Feldt <feldt@...>

Hi,

16 messages 2002/01/24
[#33032] Re: Subclassing vs Subtyping (partly OOP vs FP) — Dave Thomas <Dave@...> 2002/02/03

Lewis Perin <perin@panix.com> writes:

[#32247] Array.last Weirdness — Jesse Jones <jesjones@...>

I'd expect the following code:

19 messages 2002/01/24

[#32312] Serious Array Bug in Ruby 1.6.6? — William Djaja Tjokroaminata <billtj@...>

Hi,

42 messages 2002/01/24
[#32315] Re: Serious Array Bug in Ruby 1.6.6? — David Alan Black <dblack@...> 2002/01/24

Hello --

[#32400] Re: Serious Array Bug in Ruby 1.6.6? — billtj@... (Bill Tj) 2002/01/25

Hi,

[#32404] Re: Serious Array Bug in Ruby 1.6.6? — David Alan Black <dblack@...> 2002/01/25

Hello --

[#32319] looking for an example problem to demonstrate TaskMaster — ptkwt@...1.aracnet.com (Phil Tomson)

I'm looking for suggestions here...

19 messages 2002/01/24

[#32355] RDoc learns to draw pictures... — Dave Thomas <Dave@...>

15 messages 2002/01/25
[#32377] Re: [ANN] RDoc learns to draw pictures... — "Pit Capitain" <pit@...> 2002/01/25

On 25 Jan 2002, at 9:34, Dave Thomas wrote:

[#32388] Ruby Developers Guide — Robert Feldt <feldt@...>

Hi,

16 messages 2002/01/25

[#32401] Sourcecode dump? — Olivier CARRERE <carrere@...>

Hello,

12 messages 2002/01/25

[#32417] Subrange of String subclass => invalid object — "Bob Alexander" <bobalex@...>

Given these conditions:

52 messages 2002/01/25

[#32445] "friend" alternative in Ruby? — kturing@... (kate turing)

I have a class "Foo". It has a method "doSecretStuff" that I want to

13 messages 2002/01/26

[#32465] rubyzip 0.3.1 — thomass@... (Thomas)

rubyzip 0.3.1 is out.

18 messages 2002/01/26

[#32593] OT: tools for creating documentation — ptkwt@...1.aracnet.com (Phil Tomson)

I'm going to be creating a good bit of documentation for TaskMaster and I

12 messages 2002/01/27

[#32646] popen3 and buffering — Paul Brannan <paul@...>

I have a program test.rb:

26 messages 2002/01/28

Re: [Fwd: Re: more parrot-questions..]

From: Dan Sugalski <dan@...>
Date: 2002-01-18 04:11:18 UTC
List: ruby-talk #31604
>Sorry to send this mail to you in private but I did send it to the
>ruby-talk-mailinglist and hoped that you would answer it. Feel free to
>ignore this mail if I'm taking up your time.

Not a problem, and I've Cc'd it back to ruby-talk. It's been a busy 
few days--got DownSized (tm)--and I'm digging out of a huge wad of 
mail moved over to a new system. Sorry 'bout the delay.

>I've been trying to build some ruby-classes into parrot and I thought it
>would be really cool to have some ruby-classes in 0.0.4 :)

Absolutely! I need to get the reference type written, then, so 
ruby/python assignment semantics work properly.

>Anyway.  I'm having some problems understanding how to inherit from a
>base class so I would appreciate if you could answer at least that part
>in the attached mail.

Will do. You won't like it. :)

[Major header snippage]

>On Thu, 2002-01-03 at 23:14, Dan Sugalski wrote:
>  > At 11:15 PM 1/3/2002 +0900, Erik B虍fors wrote:
>  > >How is object-orientation going to be done in parrot??
>  >
>  > It's generally going to be left to the various classes. Variables all have
>  > a "dispatch to named method" entry in their vtables, which Does The Right
>  > Thing. Which, presumably, includes dispatching to the actual 
>method somehow. :)
>  >
>  > So if your code does:
>  >
>  >     someObject.hey_look_a_method
>  >
>  > that gets translated, more or less, to:
>  >
>  >     find_lex P0, 0, 7 # Assuming we're the seventh lexical in
>  >                        # the current scope
>  >     call_method P0, "hey_look_a_method"
>
>And here I can show my ignorance again by not knowing what the "seventh
>lexical in the current scope" means :)

I presume I don't need to explain the lexical or scope bits. If I do, 
that's OK.

Since all the lexicals are known at compile time, we can cheat and 
not have to look things up by name. (We can still do that, but we 
don't have to) One of the properties of the hashes used to hold the 
lexical variables is that the names come out in the same order they 
went in. So if the first name in the hash was "Foo", if you said 
"Gimme the value for the first entry" you'd get back the value 
associated with the name Foo.

That means the interpreter doesn't need by-name lookups at 
runtime--if it knows it needs Foo, and Foo's the first lexical, it 
can skip the name lookup, which saves us some time.

>How far off in time is the "call_method"-parrot-op? When can we start
>doing real implementations of the ruby-classes?

We need subroutines and packages to get it implemented. We need more 
than that to do it efficiently, but that's all a SMOP.

>  > >If I use a perl-module from ruby under parrot and it creates a new
>>  >object I should be able to use that from my ruby-code in the same way as
>>  >if it was a ruby-object, right??
>>
>>  Right.
>
>According to what you write below, not really..

Well, sort of. :)

>Sure, we can use the object like it was a ruby-object but it's not
>really a ruby-object since it doesn't inherit from Object.

Right. The inheritance tree's different--heck, it might even be a 
real tree if it's a perl object.

>If I add a method to the Object-class it will not be in
>python/perl-objects which means we are not really running in a
>ruby-world.

From that perspective, you're quite right. Depends, I suppose, on 
whether you consider the object hierarchy a part of the language, a 
part of the core library, or a quirk of implementation. For me, as 
the engine designer, it's in the core library category.

>Personally I think the advantages of interaction between the languages
>outweighs the disadvantages.

I think so too. :)

I think, in practice, that it won't be a problem, but then I'm 
writing at what's essentially the assembly language level so my 
viewpoint's a bit skewed.

Also, this is only an issue with cross-language objects. If you stay 
completely within Ruby code you'd never know.

>  > I don't know if python's got a base class, but if it does then python
>  > objects only have that base class, not base and Object.
>  >
>  > As far as the interpreter's concerned, there's really no single superclass
>  > that provides any methods or behaviour. (Well, unless you count the "you
>  > lose,  program dies" routine which'll get filled in for any vtable entries
>  > you haven't supplied, but the vtable's a bit below methods and such.
>  >
>  > If Matz, Larry, and Guido (or some subset of the three) get together and
>  > agree on a common set of default methods, then I'll make sure they get in
>  > and implemented. (It's not my job to define behaviour, just to design and
>>  get implemented the engine that provides the behaviour other people define)
>
>I don't think that is going to happen since perl is not really object
>oriented at all (sure you can have object but still :) ), python is
>half-way OO (some things are not objects/classes) and ruby is fully OO.
>There is no way to do this without turning perl and python into
>something alot more like ruby or turning ruby into something other than
>ruby.

If you look at things right, perl really is completely OO. (You'll 
need to stand on your head) For perl 6, it's much more so as part of 
the language itself, and completely so for the implementation. Almost 
completely by accident, but it was such a nice accident in terms of 
performance that it's here to stay.

>  > >BTW, thanks dan for answering the other questions I asked :)
>>
>>  No problem--glad to answer anything I can.
>
>Good,  Then I'm giving you some more questions now :)
>
>I been messing around with parrot alot lately and it's really really
>really cool.  I WANT ruby running under this so I was thinking about
>starting the whole thing.  I implemented a small RubyObject-pmc. This
>was really easy since there was lot's of examples to build on.  A
>RubyString, RubyNumeric, RubyInteger, RubyFloat and a few others should
>also be real easy to create but I didn't find any good information how
>to inherit from the RubyObject type.  There wasn't any documentation and
>no examples but since there is a default class that can be inherited
>from I guess it's implemented somehow. You have more info for me?

Some, but not much.

There's two bits here. The first are (as far as Parrot's concerned) 
generic methods and such, which live in the class' namespace. They 
get called with the call_method vtable, and we'll probably just do a 
dynamic by-name lookup and indirect dispatch. Nothing fancy there at 
the moment, though it can get fancier later. (Got some ideas and some 
pointers at ways to optimize this sort of thing)

For the specific class of methods that Parrot considers 'core', or 
the things that populate the vtable, there currently is no dynamic 
inheritance. The vtables are populated with pointers to real 
functions and that's it. Parrot'll keep a class hierarcy in, and 
it'll know what's a child of what class. When you change a parent 
class' methods such that its vtable changes, Parrot will 
automatically refigure the vtable for the child classes (it's just an 
array of function pointers after all) with pointers to the new 
routine(s).

I'm going to go and set some of this stuff in wet concrete, BTW. I'd 
not given the details a whole lot of thought until now.

>Writing as much of the ruby-implementation as possible in ruby itself
>would of course be very cool.

True. I'm not much of a language purist in that sense, really--I'll 
mix C and perl (or ruby, or python, or scheme, or, heck, Fortran) 
based on both what makes the implementation easier and what makes it 
faster. Parrot does have some bits that are something of a pain for 
the folks writing back-end stuff, but it should speed up actual 
program runs, so the pain's worth the gain.

>The obvious way of doing this is to write
>some objects and methods in c and then write the rest in ruby and
>compile that ruby-code into parrot bytecode, then include that bytecode
>into every ruby-program.

Sure--it'd just be part of the core ruby library for Parrot.

>Of course this will not be as fast as a
>c-version of everything.  I saw that there is a pbc2c-converter in the
>parrot distribution.  Would it be possible to use this to "get the best
>of both worlds"?  That is, the ruby language but the c-speed?

Absolutely, sure.

>Will there be some way of automatic convertion between types??  What I
>mean is this, let's say you have this wonderfull function in perl that
>takes a PerlString and returns another PerlString.  I want to use this
>from ruby and would really like to have RubyStrings for everything.
>Would automatic conversion between these types be something that's
>good/possible?

The core datatypes the engine really cares about are platform 
integers, platform floats, bignums (basically an indefinite-precision 
base-10 number), and parrot strings.

Parrot strings are a character buffer combined with encoding, 
character set, and locale information on the string. They're meant to 
be programming-language neutral. (A Unicode string in UTF-32 with a 
Finnish locale doesn't care whether it came from Perl, or Python, or 
Ruby)

There's not actually a PerlString type as such--the PerlString class 
is mis-named. It's a subtype of the perl scalar, for scalars that 
currently have only a string in them. Since perl scalars can be 
strings, integers, floats, or any number of other things, it makes 
sense to have specialized subtypes for those cases where it has 
*just* a string, or an integer, or a float. No need to check flags 
that way, no need to test and branch, and thus no need to blow your 
CPU pipeline a few times before you get to doing the real work.

I get the feeling the explanation's missing a bit, so prompt me for 
the bits that are unclear and I'll explain better.

-- 

					Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
dan@sidhe.org                         have teddy bears and even
                                       teddy bears get drunk

In This Thread

Prev Next