[#10198] POLS question: returning from a closure — David Alan Black <dblack@...>
Hello --
[#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
> mod_fastcgi with ruby is stable and IMHO a much better architecture
Joseph McDonald wrote:
On Fri, 2 Feb 2001, Joseph McDonald wrote:
Hi,
Hi,
Hi,
[#10232] ANN: Slide show available — Dave Thomas <Dave@...>
[#10238] RFC: RubyVM (long) — Robert Feldt <feldt@...>
Hi,
On Sun, 4 Feb 2001, Mathieu Bouchard wrote:
On Mon, 5 Feb 2001, Robert Feldt wrote:
--- Mathieu Bouchard and Robert Feldt wrote:
On Tue, 13 Feb 2001, John van V. wrote:
[#10256] Re: ANN: Slide show available(Publicity for Ruby) — "Ben Tilly" <ben_tilly@...>
Dave Thomas <Dave@PragmaticProgrammer.com> wrote:
[#10271] Telnet program in ruby? — Hugh Sasse Staff Elec Eng <hgs@...>
Given the existence of Tk widget demos in Ruby, and the net/telnet module,
[#10277] Re: configure shebang paths for apache cgi? — "Ben Tilly" <ben_tilly@...>
Jim Freeze <jim@freeze.org> wrote:
[#10290] Re: configure shebang paths for apache cgi? — "Morris, Chris" <ChrisM@...>
> For that to work, you need 'ruby' in your $PATH. Try "which ruby".
[#10307] Re: Local directory search "server" script — Mike Wilson <wmwilson1@...>
[#10317] TCPServer - bug in documentation ? — Michael Neumann <neumann@...>
Hi,
[#10328] Multi-dimensional Array — Jason <jasowong@...>
Hi All,
[#10336] ObjectSpace.each_object & terminated objects — Dave Thomas <Dave@...>
[#10385] Structured text matching? — schuerig@... (Michael Schuerig)
[#10386] Ruby/Tk, what am I doing wrong... — "Noel Rappin" <noel.rappin@...>
Now I'm diving into Ruby/Tk and I have some newbie type questions...
[#10399] Ruby users in Sydney? — harryo@... (Harry Ohlsen)
I was just wondering how many of the people who read this newgroup are
Harry Ohlsen wrote:
[#10419] Installing on Mandrake 7.1 — peterhi@...
I have the 1.6.2 tarball and I've unpacked it to /root/x. I've then run
[#10420] Preemptive scheduling? — wys@... (Clemens Wyss)
In the following example:
[#10424] generic method — ts <decoux@...>
[#10434] Serialization/persistence/marshalling to/from XML? — Kent Dahl <kentda@...>
Is there a library or framework for serializing a hierarchy of Ruby
[#10442] Re: book review? — "Mike Wilson" <wmwilson01@...>
[#10452] Re: Recall Regexp options? — "Ben Tilly" <ben_tilly@...>
matz@zetabits.com (Yukihiro Matsumoto) wrote:
[#10477] threads and resolving names — "Joseph McDonald" <joe@...>
Hi,
Hi,
[#10518] Embedded Ruby (Part III) — Olivier CARRERE <olivier@...>
Hi all,
[#10521] RE: Need a Jpn->Eng Translator? — Aleksi Niemel<aleksi.niemela@...>
Neil Johnson wrote:
[#10522] Prioritize the need for documentation — Aleksi Niemel<aleksi.niemela@...>
As I promised in mail [ruby-talk:10521], I'm querying the opinion of the
[#10534] Re: Embedded Ruby (Part III) — "Ben Tilly" <ben_tilly@...>
Olivier CARRERE <olivier@vibes.net> wrote:
[#10549] Giving a Proc utility methods? — "Ben Tilly" <ben_tilly@...>
Here is my situation. I have a class, call it Foo.
[#10566] Rubygarden.com? — Hugh Sasse Staff Elec Eng <hgs@...>
What is the purpose of Rubygarden.com? I know that
[#10577] Word wrap algorithm — "Morris, Chris" <ChrisM@...>
I'm in need of a word wrap method -- anyone know of an existing one
[#10592] Re: Are """ here documents here to stay? :-) — ts <decoux@...>
>>>>> "R" == Robert Feldt <feldt@ce.chalmers.se> writes:
On Fri, 9 Feb 2001, ts wrote:
[#10646] Need other Links to English InstallShield version of Ruby? — "Conrad Schneiker" <schneik@...>
I see "The English InstallShield version of Ruby" is on the "What's New"
[#10682] RE: heap data structure — Michael Davis <mdavis@...>
Can I make the heap a static or fixed size? For example, I want the heap to be 2K regardless of how many items it contains.
[#10684] Passing on a block to a called method — schuerig@... (Michael Schuerig)
[#10692] stopping a thread instance — "Guy N. Hurst" <gnhurst@...>
Hi,
[#10708] Suggestion for threading model — Stephen White <spwhite@...>
I've been playing around with multi-threading. I notice that there are
----- Original Message -----
In message <Pine.LNX.4.21.0102120019340.878-100000@localhost.localdomain>
[#10715] Threading model change, proposal — "Gaston Fong" <gastonfong@...>
I have been thinking for a while on the pros and cons of relying on
[#10718] Eric S. Raymond mentions Ruby but ... — Robert Feldt <feldt@...>
[#10777] Re: RFC: RubyVM (long) — Robert Feldt <feldt@...>
On Tue, 13 Feb 2001, Mathieu Bouchard wrote:
[#10778] perform. of Dir["**/*"] — "Richard Hensh" <hensh@...>
Now that someone has straightened me out on the use of **, I have a
[#10802] iowa, segfaults — Jonas Bulow <jonas.bulow@...>
Hi,
[#10839] Re: RCR's — "Mike Wilson" <wmwilson01@...>
[#10853] Re: RubyChangeRequest #U002: new proper name for Hash#indexes, Array#indexes — "Mike Wilson" <wmwilson01@...>
matz@zetabits.com (Yukihiro Matsumoto) writes:
On Thu, 15 Feb 2001, Dave Thomas wrote:
On Thu, 15 Feb 2001, David Alan Black wrote:
On Fri, 16 Feb 2001, Mathieu Bouchard wrote:
[#10906] Avoid bad advocacy, please — "Ben Tilly" <ben_tilly@...>
Last night I went to a talk by Damian Conway. (Wonderful
[#10909] rwiki *hangs* in send() — wys@... (Clemens Wyss)
I am trying to install rwiki (1.1) on my linux box (running Ruby 1.7.0).
[#10912] Making Hash from two lists — Kenichi Komiya <kom@...1.accsnet.ne.jp>
[#10924] Mashal.dump 10000 records, Marshal.load only reads 9939 records — Michael Davis <mdavis@...>
I have provided a small ruby script to test Marshal dump and how efficient
On Fri, 16 Feb 2001, Michael Davis wrote:
[#10943] ANN: Windows Installer for 1.6.2 — andy@... (Andrew Hunt)
I am pleased to announce that the 1.6.2 version
[#10966] RCR Summary 02/16/01 — "Mike Wilson" <wmwilson01@...>
I thought that maybe every Friday, I could list the open change requests to
[#11007] Generators (was: RCR Summary 02/16/01 -suspend) — jweirich@...
[#11017] inconsistency — Mathieu Bouchard <matju@...>
At 03:27 2/18/2001 +0900, you wrote:
[#11037] to_s and << — "Brent Rowland" <tarod@...>
list = [1, 2.3, 'four', false]
On Sun, 18 Feb 2001, Brent Rowland wrote:
On Sun, 18 Feb 2001, Stephen White wrote:
On Sun, 18 Feb 2001, David Alan Black wrote:
[#11065] MetaRuby 0.5 — Mathieu Bouchard <matju@...>
[#11068] Re: to_s and << — "Ben Tilly" <ben_tilly@...>
craig duncan <duncan@nycap.rr.com> wrote:
[#11094] Re: Summary: RCR #U002 - proper new name fo r indexes — Aleksi Niemel<aleksi.niemela@...>
> On Mon, 19 Feb 2001, Yukihiro Matsumoto wrote:
[#11113] Auto-magically determine your class/method in Ruby — Bryan Zarnett <bryan_zarnett@...>
Is their a way to auto-magically determine the class
Bryan Zarnett <bryan_zarnett@yahoo.ca> writes:
On Tue, 20 Feb 2001, Dave Thomas wrote:
I agree, having the calling class as part of caller
[#11116] RE: TCPSocket.open() lasts 2 minutes (was: rwik i *hangs* in send()) — Aleksi Niemel<aleksi.niemela@...>
Clemens wrote:
[#11131] Re: Summary: RCR #U002 - proper new name fo r indexes — "Conrad Schneiker" <schneik@...>
Robert Feldt wrote:
On Tue, 20 Feb 2001, Conrad Schneiker wrote:
On Tue, 20 Feb 2001, David Alan Black wrote:
On Tue, 20 Feb 2001, Mathieu Bouchard wrote:
[#11132] Problem compiling in MySQL support — "Carl Youngblood" <carlyoungblood@...>
I'm trying to install MySQL support for Ruby on my redhat 7.0 linux box.
[#11139] Re: One source tree for Ruby & modules — "Conrad Schneiker" <schneik@...>
Stephen White wrote:
[#11185] ANN: RubyCHannel -> Rwiki w. Online Ruby Interpreter — wys@... (Clemens Wyss)
Hi,
Hi,
"NAKAMURA, Hiroshi" <nahi@keynauts.com> wrote in
Hi Clemens,
"NAKAMURA, Hiroshi" <nahi@keynauts.com> wrote in
[#11188] better "gets"? — Nikita Proskourine <nop1@...>
Hi,
[#11191] Telnet/SSH service — nickb@... (Nick Bensema)
I'm among a group of people who are trying to get a simple BBS server up,
[#11225] Re: ANN: RubyCHannel -> Rwiki w. Online Ruby Interpreter — "Conrad Schneiker" <schneik@...>
Clemens Wyss wrote:
[#11237] Re: C scripting using Ruby (instead of Perl)? — "Ben Tilly" <ben_tilly@...>
ts <decoux@moulon.inra.fr> wrote:
[#11251] Programming Ruby is now online — Dave Thomas <Dave@...>
On Thu, 22 Feb 2001 07:24:51 +0900, Dave Thomas wrote:
Guillaume Cottenceau <gc@mandrakesoft.com> writes:
[#11270] Re: Programming Ruby is now online — "Ben Tilly" <ben_tilly@...>
Dave Thomas <Dave@PragmaticProgrammer.com> wrote:
[#11272] musings about Hash#each_with_index — David Alan Black <dblack@...>
Hello --
[#11316] Bottles of Beer finally in Ruby — Jim Menard <jimm@...>
The following URL contains a collection of programs to print the words to
[#11357] binding to callers namespace. — "Joseph McDonald" <joe@...>
[#11378] Emacs-mode? — "Noel Rappin" <noel.rappin@...>
I'd really appreciate it if somebody could give me a pointer on how to get
[#11381] Re: Time without seconds (updated/fixed) — Kevin Smith <sent@...>
ts wrote:
On Sat, 24 Feb 2001, Kevin Smith wrote:
[#11386] Re: Time without seconds (updated/fixed) — ts <decoux@...>
>>>>> "D" == David Alan Black <dblack@candle.superlink.net> writes:
[#11391] trial balloon: Ruby desktop? — Jon Aseltine <aseltine@...>
Hi,
[#11403] Re: trial balloon: Ruby desktop? — Steve Tuckner <SAT@...>
This sounds like a very interesting idea (to me) if the goal was to use it
On Sat, 24 Feb 2001, Steve Tuckner wrote:
[#11422] Dir#each -- include '.'? — Neil Conway <nconway@...>
Hi all,
[#11432] Esperanto (was: trial balloon: Ruby desktop?) — Kevin Smith <sent@...>
Brent Rowland wrote:
On Friday 23 February 2001 23:44, Kevin Smith wrote:
[#11461] French Translation — Mathieu Bouchard <matju@...>
[#11469] XML-RPC and KDE — schuerig@... (Michael Schuerig)
Michael Neumann <neumann@s-direktnet.de> wrote:
Hi all:
[#11483] Re: Esperanto (was: trial balloon: Ruby desktop?) — "Ben Tilly" <ben_tilly@...>
nickb@fnord.io.com (Nick Bensema) wrote:
[#11487] TCPSocket Problem? — "Chris New" <chris@...>
I am using 1.6.2 on both Redhat 6.1 and Redhat 7.0.
[#11511] ANN: ri - the Ruby Interactive reference — Dave Thomas <Dave@...>
[#11534] Re: Negative Reviews for Ruby and ProgrammingRuby — Kevin Smith <sent@...>
jeremy@chaos.org.uk wrote:
[#11594] Re: A design/implementation question — "Ben Tilly" <ben_tilly@...>
Dave Thomas <Dave@PragmaticProgrammer.com> wrote:
[#11595] Net::FTP — "Patrick Down" <pdown@...>
Hi, I am new to Ruby. I was trying out the Net::FTP object using
[#11633] RCR: shortcut for instance variable initialization — Dave Thomas <Dave@...>
In article <m2d7c5vxnl.fsf@zip.local.thomases.com>, Dave Thomas wrote:
r2d2@mao.acc.umu.se (Niklas Frykholm) writes:
[#11643] capturing regex matches. — "Joseph McDonald" <joe@...>
[#11647] assert() library in Ruby? — Eric Sven Ristad <ristad@...>
How can I achieve the effect of the assert() macro from C in Ruby?
Eric Sven Ristad <ristad@mnemonic.com> writes:
[#11648] Putting methods in arrays — Alex McHale <lists@...>
Hi there,
[#11652] RE: RCR: shortcut for instance variable initialization — Michael Davis <mdavis@...>
I like it!
[#11700] Starting Once Again — Ron Jeffries <ronjeffries@...>
OK, I'm starting again with Ruby. I'm just assuming that I've
> 2. So far I think running under TextPad will be better than running
On Wed, 28 Feb 2001, Aaron Hinni wrote:
"Eugene Ventimiglia" <eventi@nyic.com> writes:
One more thing:
[#11727] Re: Starting Once Again — "Conrad Schneiker" <schneik@...>
Aaron Hinni wrote:
[#11729] Interfacing with Java (sort-of) — "Conrad Schneiker" <schneik@...>
Hi,
[#11788] building n-grams — Arno Erpenbeck <aerpenbe@...>
Greetings everybody,
[#11802] list classmethods of a class — wys@... (Clemens Wyss)
I tried, but didn't find out how to get the list of classmethods of a
[ruby-talk:10366] Re: RFC: RubyVM (long)
On Sun, 4 Feb 2001, Mathieu Bouchard 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. > Me to. > > 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. > I agree with you. I've looked into Squeak and its VM a bit more and it actually seems it is written in C with a Smalltalk syntax (IMHO, it can still be a subset though!), ie. its so far from Smalltalk the only benefit you get compared to writing it in C is you can develop and run it in your Smalltalk environment (might be important though). (On the subset issue: Programs with simply integers and arithmetic operators would be a valid subset of Ruby or ST so I guess thats why they can call the system language a subset of ST.) I agree that the Ruby subset we write RubyVM components in should be a real subset of Ruby. However we will need to make some deviations from Ruby semantics if we want good performance. Otherwise we are faced with writing a full Ruby->C translator (and not like rb2c that (correct me if I'm wrong) needs matz Ruby implementation to work)), ie. essentially a Ruby compiler. I think this is doable in the long run but it'll not be easy and will require tight integration with a VM/run-time. Stuff that comes to mind were we'll probably need to deviate from full Ruby (incomplete and from the top of my head): * No garbage collection. (the idea is that we should write Ruby's GC in this subset so we cannot presuppose GC in the subset. Besides we'd lose performance. However, a q for matz: Does the interpreter itself make use of GC heap mem for internal data structures?) * Statically typed. To get good performance we need to resolve Ruby's dynamic typing at compile-time. This can be done either by using (complex) type inference/reconstruction algorithms or by using the existing Ruby interpreter (I'm thinking something like: install trace function that intercepts each "call" and "c-call" and saves the types of the arguments to the call (we can get them from the binding, right?), then run the program and collect type info, then convert each method invocation with a unique type signature into a unique C function) * No full Ruby Std lib. The basic stuff like Fixnums and Float can be converted directly but we will probably have to deal with the other basic ones like String, Array and Hash. Anyone knows what data structures are used in the current interpreter and will be crucial when writing VM components? We can take two approaches here: (1) Write CArray and CHash that give functionality similar to Array and Hash but are written directly in the subset language, or (2) implement ObjectMemory with GC and then "real" Array and Hash using the ObjectMemory. Latter will be easier and less error-prone but probably slower. How does matz do today? I guess he uses the low-level hash implementation (st?)? * No dynamic class extension, ie. you cannot redefine methods dynamically (actually you'll be allowed to do it but only the latest definition will be used). Since we'll probably have to compile methods into C functions we need some static mapping. We might work around this with some name mangling technique but I'm not sure its worth the effort. * No eval. When writing the interpreter its not there so... (Same goes for a lot of the stuff currently in Ruby like safe levels etc) I still think a subset of Ruby with the above restrictions would be close enough to Ruby to be useful (ie being more powerful than C directly while still being compileable to fast C). We would still have: * Classes and Modules (converted to structs for instance vars and function for methods) * Iterators (converted to iteration, ie. for loops) * Blocks/closures (converted to functions and function pointers) * Basic Ruby syntax * globals, class vars, instance vars and local/temp vars However I think the way we should develop/design the Ruby subset is by actually writing some of the current core components (say the GC or the full memory model (with the object format and GC)) in full Ruby and see what parts of Ruby are crucial if we don't want to sacrifice readability and compactness. Then we'll have to think hard about if we can convert all the constructs needed to fast C code. If not we might have to impose some unwanted restrictions on the subset language. If you want to dig into this some more take a look at Pre-Scheme in the Scheme48 implementation. There are links on my rubyvm web page. IMHO, Pre-Scheme is closer to what we should strive for. > > 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. > I dont agree. If we can have a Ruby subset that is more than C in Ruby syntax I think we add benefit to writing it in C. We can use closures/blocks (proc) and the code is more compact and easier for non-C/experts to read and understand. IMHO, we should first do it in a Ruby subset and then do the ciritical parts directly in C if we see the need for it. And mind you I'm not proposing a substitute for matz work (which is basically 1) but a parallel project with somewhat similar goals. > > 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. > I'm proposing we should translate to C. I'm mentioning this alternative since its so common in many VM's/dynamic programming systems. I think the drawback with generating native code by hand is that we'd have to implement all of gcc optimizations to get the performance on par with it. On the other hand, doing it ourselves might be the only way if we want dynamic/just-in-time/adaptive compilation so there's a tradeoff here. I still think we should start by generating C... > > 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? > Don't know, I haven't tried it. My impression from the research papers is that the Self compiler is very advanced doing analyses that lets them optimize away dynamic dispatch in many situations. But if its not good I guess Craig Chambers later project might be a source of inspiration (Vortex compiler for Cecil,C++ and Smalltalk). > > * unboxed floats and long integers (Self only supports 30-bit integers) > > Ruby has its Float boxed too, right? > Yes, I think everything is boxed except Fixnums (and possibly nil and false et al?). > > * 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. > Actually I expect we should have different implementations of the low-level VM components; some working on AST's (much like current interpreter) and some working with byte-code (and some with native code in the distant future!). Regards, Robert