[#10209] Market for XML Web stuff — Matt Sergeant <matt@...>

I'm trying to get a handle on what the size of the market for AxKit would be

15 messages 2001/02/01

[#10238] RFC: RubyVM (long) — Robert Feldt <feldt@...>

Hi,

20 messages 2001/02/01
[#10364] Re: RFC: RubyVM (long) — Mathieu Bouchard <matju@...> 2001/02/05

[#10708] Suggestion for threading model — Stephen White <spwhite@...>

I've been playing around with multi-threading. I notice that there are

11 messages 2001/02/11

[#10853] Re: RubyChangeRequest #U002: new proper name for Hash#indexes, Array#indexes — "Mike Wilson" <wmwilson01@...>

10 messages 2001/02/14

[#11037] to_s and << — "Brent Rowland" <tarod@...>

list = [1, 2.3, 'four', false]

15 messages 2001/02/18

[#11094] Re: Summary: RCR #U002 - proper new name fo r indexes — Aleksi Niemel<aleksi.niemela@...>

> On Mon, 19 Feb 2001, Yukihiro Matsumoto wrote:

12 messages 2001/02/19

[#11131] Re: Summary: RCR #U002 - proper new name fo r indexes — "Conrad Schneiker" <schneik@...>

Robert Feldt wrote:

10 messages 2001/02/19

[#11251] Programming Ruby is now online — Dave Thomas <Dave@...>

36 messages 2001/02/21

[#11469] XML-RPC and KDE — schuerig@... (Michael Schuerig)

23 messages 2001/02/24
[#11490] Re: XML-RPC and KDE — schuerig@... (Michael Schuerig) 2001/02/24

Michael Neumann <neumann@s-direktnet.de> wrote:

[#11491] Negative Reviews for Ruby and Programming Ruby — Jim Freeze <jim@...> 2001/02/24

Hi all:

[#11633] RCR: shortcut for instance variable initialization — Dave Thomas <Dave@...>

13 messages 2001/02/26

[#11652] RE: RCR: shortcut for instance variable initialization — Michael Davis <mdavis@...>

I like it!

14 messages 2001/02/27

[#11700] Starting Once Again — Ron Jeffries <ronjeffries@...>

OK, I'm starting again with Ruby. I'm just assuming that I've

31 messages 2001/02/27
[#11712] RE: Starting Once Again — "Aaron Hinni" <aaron@...> 2001/02/27

> 2. So far I think running under TextPad will be better than running

[#11726] Re: Starting Once Again — Aleksi Niemel<zak@...> 2001/02/28

On Wed, 28 Feb 2001, Aaron Hinni wrote:

[ruby-talk:10364] Re: RFC: RubyVM (long)

From: Mathieu Bouchard <matju@...>
Date: 2001-02-05 04:55:46 UTC
List: ruby-talk #10364
On Fri, 2 Feb 2001, Robert Feldt wrote:

> >From matz description of the next-generation interpreter (hereafter
> called MNG) it seems that his main goal is to address issues I1 and
> I2. He intends to design a bytecode format for Ruby

I'd like to see a draft of the bytecode format description when Matz
writes it.

> Squeak has the following main components:
>   * Smalltalk interpreter written in a subset of Smalltalk (hereafter
>   we call it mSt as in micro Smalltalk) that can be easily compiled to C
>   * Compiler compiling mSt to C written in "full" Smalltalk
>   * Smalltalk libs written in "full" Smalltalk

I basically agree that we should do something like that.

> mSt is a subset of Smalltalk that maps directly onto C
> constructs. It excludes blocks, message sending and even objects.

This I'm not sure I agree with. I don't know how mSt can in any way be
a subset of SmallTalk if it doesn't support the three main elements that
make SmallTalk what it is. I think our equivalent of mSt should be Ruby
itself or a real subset of it.

> 1. RubyVM-Core in C (or even assembler). This is basically MNG,
> possibly with some differences in design.
> 2. RubyVM-Core in (pure) Ruby.

I think #1 is a better for a start. We'll see about #2 when the rest is
done.

> Alternative to compiling mRb to C
> ---------------------------------
> Instead of compiling to C we could compile to native code directly. We
> can probably come up with a nice OO design where code generators for
> different machines can be plugged in but it will probably be more
> difficult to implement the many different optimizations of modern C
> compilers.

If you want to compile to native code you should first compile to C. The
mRb-to-C compiler is much more important than any native-code generators. 
I don't think I want another Self interpreter that runs only on 2
processors. 

> We should probably learn from the fast Self and Smalltalk
> implementations around.

The Self implementation I've tried cannot possibly be described as "fast".
I guess the PowerPC implementation is not up to par with the SPARC
implementation. Is that the case?

> * unboxed floats and long integers (Self only supports 30-bit integers)

Ruby has its Float boxed too, right?

> * arbitrary control flow within a method (Java) (gotos for multiple
> branching) 

This is given you depart from the AST system. Converting to a more
free-form (bytecode) control-flow can hinder some optimizations. OTOH,
some other optimizations are only possible with bytecode. The idea is to
make the AST -> bytecode translation at the right time, not too early, and
not too late. 

matju

In This Thread