[#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:11553] Re: Array bugs?
> From: ts [mailto:decoux@moulon.inra.fr]
[...]
> I'll try to explain what do ruby actually
>
> M> def f(x); [x,x]; end
> M> def g(x); f f f f f f f f x; end
> M> (g g g 1) == (g g g 1) #=> true
>
> In this case it do something like this :
>
> class Array
> def ==(other)
> each_index do |i|
> return false if not self[i] == other[i]
> end
> true
> end
> end
to be exact
class Array
def ==(other)
return false unless other.kind_of? Array
return false unless length == other.length
# unfortunately the id-sanity check
# return true if id == other.id
# is missing - Why?
each_index do |i|
return false if not self[i] == other[i]
end
true
end
end
>
> This explain why it has problem with recursive array.
>
> >>
> >> def f(x); [x,x]; end
> >> def g(x); f f f f f f f f x; end
> >> p (g g g 1)
>
> In this case inspect is protected, and ruby do (this is *very* simplified)
>
> class Array
> def inspect
> return '[]' if empty?
> return '[...]' if @inspect.include? id
> begin
> @inspect.push id
> str = '['
> each do |i|
> str << i.inspect
> end
> str << ']'
> ensure
> @inspect.pop
> end
> str
> end
> end
>
> where @inspect is in reality a thread local variable.
>
> This is why it take a very long time to find 'p (g g g 1)' because all
> recursive calls are replaced with a 'begin ... ensure'
interesting ...
> C> ##########################
> C> p ([1,3,3,[3,4],"a"] == [1,3,3,[3,4],"a"])
> C> p ([1,3,3,[3,4],"a"] == [1,3,3,[3,4],"b"])
>
> C> ##########################
> C> a =[1,2,3]; a << a; b =[1,2]; b << b; a << a; b << a;
> C> p a - b; p a; p b
>
> In this case it give the good result
good, but you told me that
> pigeon% ruby -e 'a=[1]; a << a; b = [1] ; b << b; p b - a '
> [[1, [...]]]
> pigeon%
did this change? I get [] - that is ''a == b '' -
but this decision is debatable (the ladder interpretation
means that you identify array's with a special kind of
``marked graphs''). Anyway I thought about this problem
a little longer ...
Since ruby's equality algorithm (for non-recursive array's-
the ``id-sanity check'' should be added so) never terminates
for RCO's, recursive container Objects (or whatever you want
to call them) it seems to me that you are basically free to
choose between ``a == b'' and ``a != b''. (The ladder
scheme basically boils down to infinite loop protection -
see below.)
(Besides their entertaining curiosity value for me;-) RCO's
seem like very bad ``type citizens'' - in many computer
languages you cannot form them and in math they are strictly
forbidden since they let to inconsistencies.
On the practical side the infinite recursion problem is
a consequence that you are performing an unsupported
operation (that includes asking for equality! - if the
objects are unequal you are still fine) and throwing an
exception actually seems like the right thing to-do - a
''catchable'' ``SystemStackError'' exception is as good as
any other exception IMO.
Ideally the formation of an RCO would be flagged with an
exception at creation time but such a scheme would bring
the language to a crawl (that's a problem with liberal
languages like ruby that they cannot be practically
defended against all abuses at runtime).
In conclusion I believe that the right thing to do is to
remove all infinite recursion protections against
RCO's - if you want to shoot your self in the foot you
are free to-do so ... that would mean removing the
infinite recursion protection from #flatten(!) (the
algorithm rejects some non recursive arrays anyway) -
and guard critical sections by trying to catch
``SystemStackError'' exceptions if you suspect that
a RCO might occur.
Unfortunately the taint/freeze scheme does not protected
against RCO's so adding some RCO detection facilities
might be a good idea? Maybe add an equality (flatten,
hash) for RCO's passed on an untangle scheme as a
Module? (but I doubt that there will be many takers.)
> C> ##########################
> C> def f(x); [x,x]; end
> C> def g(x); f f f f f f f f x; end
> C> def h(x); g g g g g g g g x; end
> C> def i(x); h h h h h h h h x; end
> C> def j(x); i i i i i i i x;end
>
> C> p (j(1) == j(1))
>
> Here it take too long time to compute it.
it would take 2**(8*8*8*7 +1) - 1 = 2**3585 - 1 Object
comparisons (not counting the length comparisions and
type check) - note who ever that the memory usage in
contrast to a true RCO won't go through the roof -
Christoph
Ps. Could you send me your patch? - maybe I could
take a look at it?. Anyway try ``your ruby'' on a
couple of nasty potentially equal recursive arrays.
----------------------------
$ ruby UntangleVar.rb
true
false
[[1, [...]]]
[3]
[1, 2, 3, [...], [...]]
[1, 2, [...], [1, 2, 3, [...], [...]]]
[3]
[1, 2, 3, [...], [...]]
[1, 2, [...], [1, 2, 3, [...], [...]]]
[[1, 2, 3, [...], [...]]]
[[1, 2, 3, [...], [...]]]
true
----------------------------
class Object
def no_loop (id_bag) ; true end
end
class IdBag
def initialize
@bag = {}
end
def initialize
@bag = {}
end
def include_pair a, b
@bag[a+ (b << Fixnum::Maxlog)] = 1
end
def included_pair? a,b
@bag.key? (a+ (b << Fixnum::Maxlog))
end
private
class Fixnum
Maxlog = 32
end
end
class Array
def no_loop (id_bag)
level_id_bag = IdBag.new
each do |r|
next if level_id_bag.included_pair? id, r.id
level_id_bag.include_pair id, r.id
return false unless r.detect_loop (id_bag)
return false if id_bag.included_pair? id, r.id
id_bag.include_pair id,r.id
end
return true
end
alias :old_equal :==
def ==(other)
return true if id == other.id
return false unless no_loop(IdBag.new)
self.old_equal other
end
end
p ([1,3,3,[3,4],"a"] == [1,3,3,[3,4],"a"])
p ([1,3,3,[3,4],"a"] == [1,3,3,[3,4],"b"])
a=[1]; a << a; b = [1] ; b << b; p b - a
a =[1,2,3]; a << a; b =[1,2]; b << b; a << a; b << a;
p a - b; p a; p b
c = [1,2,3]; c << c; b =[1,2]; b << b; c << c; b << c;
p c - b, c, b
p c - a, a - c
def f(x); [x,x]; end
def g(x); f f f f f f f f x; end
def h(x); g g g g g g g g x; end
def i(x); h h h h h h h h x; end
def j(x); i i i i i i i x;end
p ((f f 1) == (f f 1))
----------------------------
Recursion unprotected (corrected) flatten
not tested
class Array
def flatten
res = []
each do |i|
if i.kind_of? Array
res+= i.flatten
else
res << i
end
end
res
end
end
----------------------------
Recursion limited hash value
not tested
class Object
def protected_hash(level)
#ignore level
hash
end
end
class Array
def protected_hash (level)
return 0 if level < 1
hsh = 0
each do |i|
hsh ^= i.protected_hash (level- 1)
end
return hsh
end
def hash
untangled_hash 5
end
end
----------------------------