[#14459] Overloading Constructors. — "Florian G. Pflug" <fgp@...>
Hi
Hi,
On Tue, May 01, 2001 at 10:20:23AM +0900, Yukihiro Matsumoto wrote:
Hi,
[#14464] who uses Python or Ruby, and for what? — ellard2@...01.fas.harvard.edu (-11,3-3562,3-3076)
A while ago I posted a request for people to share their experiences
Its interesting that people consider the number of
On Tue, 1 May 2001 10:27:58 +0900, Bryan Zarnett <bryan_zarnett@yahoo.ca> wrote:
[#14517] RAA — ptkwt@...1.aracnet.com (Phil Tomson)
[#14552] emacs and ruby debugging — "Joseph McDonald" <joe@...>
[#14555] Ruby as a Mac OS/X scripting language — Dave Thomas <Dave@...>
I was looking at OS/X yesterday and although the sales
I'm confused by people saying that there is no scripting language for Mac OS
Applescript is there, as is Perl. I guess (IMHO) that
[#14556] Ruby code: the lost generation — David Alan Black <dblack@...>
Hello --
[#14557] Arggg Bitten by the block var scope feature!!! — Wayne Scott <wscott@...>
>
[#14598] Re: Arggg Bitten by the block var scope feature!!! — "Conrad Schneiker" <schneik@...>
# On Thu, 3 May 2001, Wayne Scott wrote:
On Fri, 4 May 2001, Conrad Schneiker wrote:
On Fri, May 04, 2001 at 08:51:32AM +0900, David Alan Black wrote:
[#14600] Design by contract — "J J" <jj5412@...>
Any interest/thoughts on implementing simple design by contract in Ruby?
[#14601] bizarre File open, read, close problem on Win98? — ptkwt@...1.aracnet.com (Phil Tomson)
[#14609] scope of base class instance variable — "Chochain Lee" <cclee@...>
Hi,
[#14629] Database Abstraction Framework — "Florian G. Pflug" <fgp@...>
Hi
[#14636] Yet another "About private methods" question — Eric Jacoboni <jacoboni@...2.fr>
I'm still trying to figure out the semantics of private methods in Ruby.
Eric Jacoboni <jaco@teaser.fr> writes:
Greetings from a newbie,
On Sat, 5 May 2001, Chris Montgomery wrote:
"Guy N. Hurst" <gnhurst@hurstlinks.com> writes:
On Tue, 8 May 2001, MJ Ray wrote:
On Tue, 8 May 2001, Guy N. Hurst wrote:
[#14663] Vote for anime character — "Gudrun Heinrichmeyer" <Gudrun.Heinrichmeyer@...>
I vote for a modern friendly symbol clearly associated with japan, the animcharacter.
[#14683] Class refresher please. — "John Kaurin" <jkaurin@...>
class B
[#14689] ranges — "Joseph McDonald" <joe@...>
[#14710] Why's Ruby so slow in this case? — Stefan Matthias Aust <sma@3plus4.de>
Sure, Ruby, being interpreted, is slower than a compiled language.
[#14740] have I messed up my setup, or are these real irb problems? — Dave Thomas <Dave@...>
[#14743] ANTLR rules for Ruby — matz@... (Yukihiro Matsumoto)
Hi,
matz@zetabits.com (Yukihiro Matsumoto) writes:
[#14753] Re: Ruby on AIX? — "Conrad Schneiker" <schneik@...>
Sean Rusell wrote:
[#14762] skipping arguments — touch freedom <stillflame@...>
this is going to be a stream of thought, not really one coherant question. i am sorry(or 'you are welcome', in some cases).
[#14768] SimpleDelegator assymetry — Robert Feldt <feldt@...>
Hi folks,
[#14777] Completely freaky behavior — "J J" <jj5412@...>
I've got a class that sets a variable in a method like so:
[#14780] AW: Re: SimpleDelegator assymetry — Wyss Clemens <WYS@...>
...does your solution remove obsolete methods?
[#14792] Integer division oddness — "Mike T. Miller" <mtm@...>
My father pointed out this oddity.
[#14793] Polymorphic methods — "J J" <jj5412@...>
In C++ you can have polymorphic methods such as
[#14825] [Q] Why module methods are NOT included by 'include' statement? — Leonid Razoumov <see_signature@127.0.0.1>
Ruby has a powerful 'include some_module' statement which imports into the
[#14881] Class/Module Information — "John Kaurin" <jkaurin@...>
It is possible to modify the following code to produce
[#14932] Re: Automatic inclusion of modules — "rashworth" <rashworth@...>
What is your translation of:
[#14945] ICQ LIB for Ruby — "Anders Johannsen" <anders@...>
Hi
[#15004] Re: Standard practices for module distribution — Renald Buter <buter@...>
On Fri, May 11, 2001 at 04:40:00PM +0100, ruby-talk@ruby-lang.org wrote:
Renald Buter wrote:
Ok, the synapsis aren't firing so well today.
[#15005] Re: Mascot/Icon Ruby Laser — "Conrad Schneiker" <schneik@...>
Furio R Filoseta wrote:
[#15006] Komodo support for Ruby? — Brian Sobolak <sobolak@...>
On Sat, 12 May 2001, Brian Sobolak wrote:
[#15011] DRuby/Rinda/TupleSpace Dokumentation — "Florian G. Pflug" <fgp@...>
Hi
# Is there any documentation of DRuby/Rinda/TupleSpace in english?
[#15034] Re: calling .inspect on array/hash causes core dump — ts <decoux@...>
>>>>> "A" == Andreas Riedl <viisi@chello.at> writes:
Question 1
[#15043] Can't compile 1.7 — Urban Hafner <the-master-of-bass@...>
Hello,
[#15047] Ruby/GTK question and future RAA suggestions — "Conrad Schneiker" <schneiker@...>
Hi,
[#15056] Syntax highlighting — Stephan K舂per <Stephan.Kaemper@...>
Hi,
[#15057] ncurses-bindings — Stefan Nobis <stefan@...>
Hi.
[#15069] Flushing TkText — "John Kaurin" <jkaurin@...>
I am converting a command line program that had
[#15071] bytecode compilation — Steven Haryanto <steven@...>
Hi folks,
Not exactly what you want, but look at ruby2c (rb2c)
[#15096] [Q] Rroc#arity ambiguity. Is it a bug? — Leo <slonika@...>
Hi experts,
[#15101] Re: Ruby on AIX? — Christian Szegedy <szegedy@...>
Here is a solution:
[#15115] Q: GUI framework with direct drawing capabilities? — Stefan Matthias Aust <sma@3plus4.de>
Hi!
Stefan Matthias Aust <sma@3plus4.de> writes:
[#15125] Re: How do I alias a class method? — Mathieu Bouchard <matju@...>
On Tue, 15 May 2001, Mathieu Bouchard wrote:
On Tue, 15 May 2001, David Alan Black wrote:
Hi,
[#15162] Regexp (a\1) — ts <decoux@...>
[#15173] Re: Discussion on new Ruby features — Christian Szegedy <szegedy@...>
Dave Thomas wrote:
[#15174] class << self — Hans-Dieter Stich <hdstich@...>
hi!
Hans-Dieter Stich <hdstich@commplex-media.de> writes:
[#15193] Re: Discussion on new Ruby features — Christian Szegedy <szegedy@...>
Angus McIntyre wrote:
[#15197] Re: Discussion on new Ruby features — Christian Szegedy <szegedy@...>
Dave wrote:
[#15198] Re: Q: GUI framework with direct drawing ca pabilities? — Steve Tuckner <SAT@...>
Would it be a good idea to develop a pure Ruby GUI framework built on top of
-----BEGIN PGP SIGNED MESSAGE-----
[#15216] Re: Discussion on new Ruby features — "Christian Szegedy" <szegedy@...>
matz wrote:
[#15234] Pluggable sorting - How would you do it? — "Hal E. Fulton" <hal9000@...>
Hello all,
Hi,
Wayne Scott <wscott@bitmover.com> writes:
From: Dave Thomas <Dave@PragmaticProgrammer.com>
Is there a built in way to turn an array
[#15235] Bug or feature? eval("x=5") — "Hal E. Fulton" <hal9000@...>
Hello Rubyists...
[#15268] WriteExcel for Ruby — Hans-Dieter Stich <hdstich@...>
btw, i'm trying to port John McNamara
[#15272] Re: Discussion on new Ruby features — "Benjamin J. Tilly" <ben_tilly@...>
>===== Original Message From matz@zetabits.com (Yukihiro Matsumoto) =====
[#15290] Ruby in Java — Glen Starchman <glen@...>
[#15318] — "Michael Dinowitz" <mdinowit@...2000.com>
subscribe michael dinowitz
[#15325] help with rubyunit — Max Ischenko <max@...>
[#15333] how to use garbage collection relyably? — viisi@... (Andreas Riedl)
hi!
[#15364] Re: Time.times problems in libc5; getrusage request — ts <decoux@...>
>>>>> "G" == Guy N Hurst <gnhurst@hurstlinks.com> writes:
[#15366] UnMac — Chris Moline <ugly-daemon@...>
Hi, I was reading the anti mac paper that showed up on slashdot and figured why not?? For those who don't follow slashdot, the paper was about alternative interfaces. In this case an interface similar to the ones found in text adventure games. I think this is a cool idea. A sample session would be
[#15391] PROPOSAL: Java-like method-based synchronization mechanism in Rub y — Wyss Clemens <WYS@...>
Hi all,
[#15394] Re: Ruby in Java — ts <decoux@...>
>>>>> "M" == Mathieu Bouchard <matju@sympatico.ca> writes:
[#15403] how to remove method from singleton class — Joel VanderWerf <vjoel@...>
[#15438] Newbye question: retrieving a Class by its classname — "Benoit Cerrina" <benoit.cerrina@...>
Hi,
[#15448] RCR: #const_name_is — Mathieu Bouchard <matju@...>
[#15456] more reflection — Mathieu Bouchard <matju@...>
Hi,
On Mon, 21 May 2001, Yukihiro Matsumoto wrote:
[#15470] Re: Embedding Ruby - Segfaults? — ts <decoux@...>
>>>>> "S" == Sean Middleditch <elanthis@users.sourceforge.net> writes:
[#15474] Ruby catching error signals — Sean Middleditch <elanthis@...>
Hi again!
[#15493] One for the FAQ — "Matthew Bloch" <mattbee@...>
initialize NOT initialise, dammit :-) The error message:
[#15511] Tk Bitmaps — "John Kaurin" <jkaurin@...>
The following code works when I use a bitmap from the Ruby Tk demos kit
[#15512] Newbie GC question — Ashley Roeckelein <ashley.DONT@...>
Hi,
[#15549] ColdFusion for Ruby — "Michael Dinowitz" <mdinowit@...2000.com>
I don't currently use Ruby. To tell the truth, I have no real reason to. I'd
[#15569] I like ruby-chan ... — Rob Armstrong <rob@...>
Ruby is more human(e) than Python. We already have too many animals :-).
----- Original Message -----
On Wed, 23 May 2001, Hal E. Fulton wrote:
[#15590] Re: -lX11 error installing Ruby — ts <decoux@...>
>>>>> "C" == Collins Richey <erichey2@home.com> writes:
[#15599] Language specification reference — Lothar Scholz <llothar@...>
Hello,
[#15601] How to avoid spelling mistakes of variable names — ndrochak@... (Nick Drochak)
Since Ruby does not require a variable to be declared, do people find
ndrochak@gol.com (Nick Drochak) writes:
On Thu, 24 May 2001, Dave Thomas wrote:
Jim Freeze <jim@freeze.org> writes:
[#15602] Interactive Ruby II — Mario Lang <mlang@...>
Hello.
[#15615] help attr_reader — bashar asad <baasad@...>
hello;
[#15633] Q: Function modification/Procedures — Daishi Harada <daishi@...>
Hi,
[#15646] Disabling stderr — "Tom Spilman" <tspilman@...>
Is there a way to keep Ruby from sending exception info to the stderr
[#15683] Newbie: each! — Martin Julian DeMello <mdemello@...>
I'm trying to write an each! iterator that will iterate over an object
[#15688] every body wants java — bashar asad <baasad@...>
its really frustrating when you try to look for a job noadays.... you know so
[#15704] gnome, bonobo and corba. — Erik B虍fors <erik@...>
Hi all,
[#15725] Wow! (impressed newbie) — sjr3a@... (Stephen Ramsay)
I just got the Programming Ruby book a few days ago and have been reading it
[#15734] java based interpreter and regexes — "Wayne Blair" <wayne.blair@...>
I have been thinking about the java based ruby interpreter project, and I
>
Does anyone have any experience with javacc? I've been playing with it and
[#15735] Compilation helper — Sean Middleditch <elanthis@...>
Hi!
[#15738] Ruby globbing problem? — Guillaume Cottenceau <gc@...>
[#15754] Challenges of java interpreter — "Wayne Blair" <wayne.blair@...>
"Stefan Matthias Aust" <sma@3plus4.de> wrote:
"Wayne Blair" <wayne.blair@relian.com> wrote:
[#15782] Subsets of a set — Harry Ohlsen <harryo@...>
I know that the Array class has a number of methods that make it usable
[#15793] Check a few characters of a string: How? — "Franz GEIGER" <fgeiger@...>
Want to check the first or last character of a string or say any character
[#15804] is it possible to dynamically coerce objects types in Ruby? — mirian@... (Mirian Crzig Lennox)
Greetings to all. I am a newcomer to Ruby and I am exploring the
Hi,
In article <990979671.433370.24481.nullmailer@ev.netlab.zetabits.com>,
Hi,
In article <991006658.571333.26080.nullmailer@ev.netlab.zetabits.com>,
Hi,
In article <991014401.628418.26898.nullmailer@ev.netlab.zetabits.com>,
On Mon, 28 May 2001, Mirian Crzig Lennox wrote:
[#15828] subclassing Date — Michael Husmann <Michael.Husmann@...>
Using ruby 1.6.0 and trying to subclass the Date class like
[#15832] Can irb have smart completion? — Max Ischenko <max@...>
Hi,
[#15846] gtk/glib — Patrik Sundberg <ps@...>
hi,
[#15863] Experimental "in" operator for collections — Stefan Matthias Aust <sma@3plus4.de>
There's one thing where I prefer Python over Ruby. Testing whether an
[#15871] embedded ruby — Wesley J Landaker <wjl@...>
Hello list, =)
[#15886] Q about TrueClass & FalseClass — Stefan Matthias Aust <sma@3plus4.de>
Hi!
[#15894] Dir[] — "Todd Smith" <todd@...>
I can get a list of files to be returned from a line such as:
[#15923] Block arguments vs method arguments — Mike <mike@...>
Hi,
[#15925] Re: Block arguments vs method arguments — ts <decoux@...>
>>>>> "M" == Mike <mike@lepton.fr> writes:
----- Original Message -----
On Thu, May 31, 2001 at 11:53:17AM +0900, Hal E. Fulton wrote:
At 11:01 PM 5/31/2001 +0900, Sean Russell wrote:
In article <5.1.0.14.2.20010531160016.00aa8aa8@mail.vex.net>,
mirian@cosmic.com (Mirian Crzig Lennox) writes:
[#15947] Traffic seems to be up significantly — ptkwt@...1.aracnet.com (Phil Tomson)
[#15954] new keyword idea: tryreturn, tryturn or done — Juha Pohjalainen <voidjump@...>
Hello everyone!
[#15955] .scan() using '/' as the regular expression delimiter — "Luke Crook" <lcluke@...>
I am trying to parse an Apache log file. The date field looks like:
[#15960] Ruby Standard and Enterprise Edition — Bryan Zarnett <b@...>
One of the best "marketing" things that Java did was there standard and
[#15998] ruby-mode not hilighting keywords in XEmacs 21.4? — jeffrey@... (Jeffrey P Shell)
In a freshly-built XEmacs 21.4.3 with lots-o-packages installed,
[#16030] /src/rough — "Akinori MUSHA" <knu@...>
Hello,
[#16068] require and include confusion — Albert Wagner <alwagner@...>
I have totally confused myself about the relationship between require and
[#16087] linked list redux — Al Chou <hotfusionman@...>
Hi, all,
>Hi, all,
Johan Dahl <Johan.Dahl@ling.lu.se> writes:
[ruby-talk:15486] Re: An Attempt at Versioning
Mathieu Bouchard <matju@sympatico.ca> writes:
Mathieu> Replying to all of you at once:
[package versioning using a vanilla version file]
I like this.
Mathieu> On Fri, 11 May 2001, Sean Russell wrote:
>> What do you think about a version which allows for intelligent
>> loading, so that multiple versions of a module/library can exist
>> on a platform at once? For example: [...] Where getAllVersions
>> finds all files in the search path by the name
>> #{file}(_(\d+(\.\d+)*))?\.rb, in order of the version numers.
>> Ergo, we'll always get the newest compatible version of the
>> library.
Mathieu> This is a good idea; not sure how the particular
Mathieu> implementation should work though: may involve one directory
Mathieu> per package, if we don't want renaming files... However, a
Mathieu> program that (indirectly) require several different versions
Mathieu> of the same file or package would still not work, but I'm
Mathieu> not sure something can be done about it.
Hmm. I'm not sure anything too sensible can be done about that,
either.
Mathieu> On Fri, 11 May 2001, Colin Steele wrote:
>> * creating impenetrable separation between interface and
>> implementation
Mathieu> I'm not sure what do you mean by "impenetrable".
My thinking here revolves around putting myself into the shoes of a
software vendor that wants to distribute a Ruby library.
As such a vendor, I'd like a mechanism (other than saying it's a Bad
Thing in the license) to strongly discourage the users of my library
from poking around in its implementation.
Why? Because to the extent that the implementation is exposed it
*becomes* the interface, as far as the users of the library are
concerned. They'll do "nasty" things that are fun and easy in Ruby,
like move methods from one access protection level to another, poke
around in my classes' instance variables, etc.
The result is that it's nearly impossible for me to ship a bug fix or
an upgrade.
(This thinking may invoke issues of the ethics/morals of various
software creation/distribution models. That chat will probably lead
down the open source path. I propose we defer that for now, and stay
open to the possibility that this sort of mechanism is useful for
traditional software vendors, and may even be quite desirable for
open source library developers, too.)
The vendor really wants to hide the implementation behind a firewall.
The API is "Give me an object supporting interface version X of this
class." And what do you get? An *interface*, which is completely
opaque.
This allows me, the software vendor, to drop in a replacement
implementation fixing bugs, etc., that supports the existing
interface.
Mathieu> I suppose we could (and should) have a separate version
Mathieu> system for "compatibility", that is, a version system for
Mathieu> "interface"; the other (regular) version system would be for
Mathieu> implementation; however the kind of problem that crops up
Mathieu> here is... bugs. Implementations have bugs, that is, failure
Mathieu> to comply with a certain interface. I'm not sure what (and
Mathieu> whether anything) should be done to handle bugs and bugfixes
Mathieu> in relationship to this.
It may be that these issues are orthogonal enough that they should
get separate treatment... but I have the itchy feeling that there's
too much overlap to invent separate mechanisms for them.
>> Thankfully, some of the traditional problems are ones we don't
>> have to deal with (yet?): * code incompatibility at the binary
>> level One might argue that some of these issues aren't applicable
>> to Ruby. (For instance, binary compatibility.) That's an open
>> debate I think we should have.
Mathieu> Binary compatibility is applicable to Ruby in the measure
Mathieu> that the Ruby interpreter is written in C and the extension
Mathieu> API to Ruby is designed for C and all it implies. All
Mathieu> packages that contain .so/.dll files are potentially
Mathieu> affected.
Ah, yes. Quite right.
>> However, I hope we don't lose sight of the fact that a) overall,
>> library versioning is a critical need, and b) there are historical
>> attempts to solve this problem in other contexts that may provide
>> valuable lessons for us.
Mathieu> May you provide more (historical) background on versioning
Mathieu> with separation of interface and implementation?
Sure. Much as I chafe against Microsoft, COM is one reasonable
solution to many of these problems. (Although you can argue that
Microsoft adopted COM to solve the very same "DLL Hell" problem that
they created in the first place.)
What's COM? In a nutshell, it's a reusable software component
system. (Sounds good at first blush - in principal, like something
one would want with Ruby.)
In COM, you package up your class(es) in a "deployment unit" - a
shared library. This physically decouples the client from your
library.
Then you separate interface from implementation, by modeling these
two abstractions as separate entities. It also provides a mechanism
to associate an interface with its implementation that doesn't reveal
any implementation detail. This allows the implementor to modify
implementations while holding the interface constant.
Last, there's a client API for creating objects implementing a
specified interface, and for coercing that object to other interfaces
supported by the implementation.
That's COM in a nutshell. It's a different way of thinking about
this versioning issue. Instead of:
require "somefile" { |v|
v.version.between(1.2, 1.3) and v.author == "matju")
}
we'd be headed more in a more object- and interface-centric
direction, like this (maybe?):
require 'somepackage'
version = Version.new('2.1')
begin
myFrob = SomePackage.frob(version)
rescue UnsupportedInterface
version -= '1.0'
if version > '0.9'
$stderr.puts('Upgrade SomePackage! Trying interface #{version}.')
retry
else
$stderr.puts('SomePackage does not support any usable interfaces.')
exit
end
end
myFrob.doSomething('foo', 42)
begin
myFrob.doSomethingSpecial('bar', 84) # => raises UnsupportedInterface
rescue UnsupportedInterface
retry if myFrob.coerce('1.7.1')
end
So... what do you folks think?
--
Colin Steele
colin@webg2.com / www.colinsteele.org / www.rubycookbook.org
From "The Hacker's Dictionary":
doco: /do'koh/ [orig. in-house jargon at Symbolics] n. A
documentation writer. See also {devo} and {mango}.