From: "Isaac Gouy" <igouy / yahoo.com>

> Complaining that it's wrong for Python to provide functionality that
> allows the program to run is simply bizarre. The problem is that Ruby
> doesn't provide that functionality.

Since the shootout purports to be about measuring performance,
it seems a smidge over-picky to disallow a program on the
basis of a non-performance-related environment configuration
issue.

If you're on a unix system, and you really wanted to, you could
add this ugly line to the start of the script:

ENV['FIXSTACK'] = "1" and exec(%{/bin/sh -c "ulimit -s unlimited ; exec ruby #$0 #{ARGV.join(' ')}"}) unless ENV['FIXSTACK']

It'll fix the environment problem and won't even change the
process ID.

Note that it should also be possible to call setrlimit()
directly from ruby, using the built-in 'dl' library.
The 'dl' library works on windows too, so the appropriate
win32 routine should also be callable directly from ruby.

In other words, it _can_ be solved directly from ruby.  But
it's an environment issue that, whether addressed in the
shell prior to calling the ruby program, or handled in ruby
itself via the kludge above, or in ruby via a system call using
the 'dl' library, neither affects the program run-time nor memory
usage in a significant way.  Since it's not a performance-
related issue, disqualifying a program based on an incorrectly
configured environment seems peculiar.

If you want to see the direct system call from ruby using
the 'dl' module, let me know.  I think it'd be three lines or
so.


Regards,

Bill