[#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:
[#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:
[#10889] /bin/sh script beats pants off ruby script — "greg strockbine" <gstrock@...>
why is ruby so damn slow?
[#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@...>
[#11468] multidimenstional arrays? — Roy Patrick Tan <rtan@...>
Hi, I'm a bit new to Ruby, and I have a couple of questions:
[#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:10777] Re: RFC: RubyVM (long)
On Tue, 13 Feb 2001, Mathieu Bouchard wrote: > This was a private message? > Oops, I'll cross-post to ruby-talk. Missed that on the previous post... > On Tue, 13 Feb 2001, Robert Feldt wrote: > > On Tue, 13 Feb 2001, Mathieu Bouchard wrote: > > > On Mon, 5 Feb 2001, Robert Feldt wrote: > > > > 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. > > > I prefer not to discuss about RubyVM at all for now, because I feel there > > > are things that need to be done before and which will give us significant > > > insight on how to do what you propose. > > Ok, I'm more into the "lets-start-and-learn-as-we-go-along" school of > > thought. ;-) > > I'm in that school too, but I'm also in the "lets-start-by-the-beginning" > school of thought. "RubyVM" as I understood it is possibly the most > central piece of Ruby. The Array and String classes, for example, are on > an outer layer, and the interpreter itself in on an intermediate layer. > (This ordering is imprecise and debatable, but I hope the point gets > through) > Yes, something like that but I also noticed matz use Array and Hash (well actually its the low-level implementation of Hash st.c but anyway) in a number of places in the interpreter so the division is not clearcut. > > I agree that ArrayMixin is a step in the right direction but its on the > > level of writing what I've called RubyBaseLib (builtin classes not > > necessary for interpreter core) in Ruby. > > In a Ruby-in-Ruby perspective, that's precisely why I'm doing those first: > they are outer layers, and therefore they are easier to rewrite, less code > depends on them, and they are the big weight that make it quite effortful > to, say, write a Ruby interpreter in Java (or in Scheme, Caml, etc). > Ok, but IMHO you dont need very many of these outer classes to start working on the core stuff. Basically String, Array and Hash from my limited understanding of Matz Ruby interpreter. I don't see the need for for example Bignum arithmetic in the core classes so for me it might be ok to simply translate arithmetic directly to C ditto. > > I don't see how it adresses the > > interpreter or VM core itself. > > I'm not talking about just the interpreter or just the VM. I'm talking > about the whole. Those two you talk about are the innermost layers of the > whole. > > The whole is also called "libruby.a" and is the C code provided in the > ruby distribution, except ext/*/*.c > I really don't think we disagree very much. I'm also interested in the whole (to me this means having a full Ruby system with everything (ok some platform-specific stuff will be needed, probably in inlined C) written in Ruby). However, to get good performance I'm willing to sacrifice some Ruby constructs/features as long as they don't force us to write in a totally different language/paradigm. Instead of arguing over the "right way" we should probably each work from our preferred end. In the long term I think we'll benefit from each others project. Hopefully we can continue communicating during design and impl so that long-term benefit will be max for both projects. Fruitful discussion will of course be important! > > If its of any interest to you I've already started a project leading to a > > Ruby syntax tree lib; basically its a general parser generator generating > > parsers that give you a Ruby-friendly (Arrays can be used for nonterminal+ > > stuff etc) AST as a result. > > This seems to be precisely what I wanted to have. > > > I'll try to use it as a base for > > Ruby--/sRuby to C compilation. If you're also working on a syntax tree lib > > I think we should try to synch to avoid duplication of too much effort?! > > I have barely started on it. It's just a sketch in my mind and a few > notes, and I didn't intend to work on it until I'm done with ArrayMixin > etc. That's why I say "I'd like to have" and not "I'm doing". Of course if > you want to do it I may help you a little. > I'll tell you what I've done so far on this parser gen: * Specified a grammar for grammars (its similar to SableCC's format, but even simpler with Ruby RegExp'sfor the tokens) * Hand-coded this grammar * Implemented the LALR(1)-gen algs in Dragon book * A really simple lexer gen that simply applies the token regexps in order until a match is found (This may not give good enough performance but we can do a more traditional DFA-based gen later...) * Generated a grammar parser from the handcoded grammar Next is extensive testing (Ok, in the name of pragmatism I wrote some tests prior to implementation but sadly they dont cover everything... ;-). This will give a generally usesful parser gen closer to OO and Ruby than the existing ones (racc and rbison both based directly or indirectly on flex and yacc). Next step is getting a Ruby parser by converting parse.y to the grammar format of the parser gen. > > I'm not sure I see the benefit of translating to something > > St/Self-like? > > Actually, a strict subset of Ruby syntax, in such a way that the Ruby > parser class can inherit from the Ruby-- parser class. > The Grammar class I've used supports this kind of "merging" of grammars (and thus of parsers). > I said more like St/Self because Ruby has a lot of control statements that > can be recreated using already existing constructs, while St/Self don't. > > Basically, Ruby-- would lack at least: > * for, case..when > * flip-flop operator > * reversed form of if, unless, while, until > * multiple assignment > * yield (use & declarator and .call() instead) > Why these? I guess yield and the flip-flop may not be straightforward to translate to C but IMHO the other ones should be possible? I think excluding yield would be a major hindrance since it is frequently used in iterators. Not so for flip-flop. My approach has been to write some low-level stuff in Ruby to see what will be needed in sRuby/Ruby-- to not limit how we'd like to write these things in Ruby. I've translated gc.c (not all of it but doing a OO design based on the existing stuff) so far. For example, in the GcAlgorithm subclass MriMarkAndSweepAlgorithm the mark method uses an iterator over a RootSet to mark objects in the object memory. I think it would not be natural for a Ruby developer to use something different than an iterator for this => yield is needed in RootSet implementation => yield is needed in sRuby/Ruby--. This is an example of the kind of thinking I do to try to nail down what needs to be in sRuby/Ruby--. Ok, if we really can't find a way to translate yields to C code then we'll have to restrict sRuby/Ruby--. > What I'm not interested in is adding strong typing etc to make a Ruby-like > language that's not really Ruby at all. At least not for now. I want > parsers and compilers for both Ruby and Ruby-- before even considering > creating a variant of Ruby. Please don't misunderstand me. > I'm not either interested in adding strong typing etc. I first thought Squeak wasn't doing that but later realized they did (well not really, they actually convert everything to unsigned longs which is not very different from using VALUE everywhere, ie. close to how matz writes the interpreter today) => their apporach not as interesting anymore. The Scheme48 approach (links are on my RubyVM page) is closer to what I'd like to acheive. The s in sRuby is not meant to mean that static typing is added to the language we code in, rather that its a subset of Ruby we can compile into statically typed code (also s as in small, subset etc). I'm also planning for a type of partial evaluation when translating Ruby--/sRuby to C; ie. statements that is independent of run-time input data can be ordinary/"full" Ruby code and is evaluated in "ordinary" Ruby interpreter. The resulting objects are then translated to C directly in a simpler/faster form (instance varsa can be made C globals etc). This should be a good thing for objects in a Ruby interpreter such as ObjectMemory/GarbageCollector etc. For example, in the example with the RootSet above, the different types of roots (ruby_dyna_vars, ruby_class, frame stack etc) are added during partial evaluation and thus the yield used in the RootSet each method can be translated to loops over the different types of root sets. If you're interested I can send you a link to the latest version of my thinking on sRuby/RubyVM... > Send me a version of your parser when you're done. > I'll do that but I've been working a bit on coding interpreter stuff in Ruby for a while so it might be a couple of weeks. BTW, do you have any ideas on the "types" of the nodes in AST? Right now I simply have a "name"/"type" attribute on the Symbols (Terminal and NonTerminal) and set it to the name of the production parsed. SableCC and similar approaches instead generates node classes for each unique type of production. However, since Ruby is dynamically typed I didn't see any benefit in that approach. Or do you think we should actually generate node classes corresponding to the different productions/constructs in Ruby syntax? I guess its the "right way" to do it... > Remember that there are 2-3 implementations (ruby.y, irb, rb2c, I think) > to consult when you need some precisions on the syntax. They may not be > written the way we want to (which is why we want yet another parser), but > they are still useful. :-) > rb2c uses parse.y directly I think. Whats ruby.y and do you know what irb uses? Regards, Robert