[#8446] Re: string like istringstream (was: A bug inruby) — Kevin Smith <sent@...>
jmichel@schur.institut.math.jussieu.fr wrote:
[#8465] A newbie question (about regexp) — "Robert Gustavsson" <robertg@...>
Hi!
[#8468] Re: speedup of anagram finder — "Ben Tilly" <ben_tilly@...>
gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) wrote:
On Tue, 2 Jan 2001, Ben Tilly wrote:
[#8478] popen on .rb file in 95 — "Chris Morris" <chrismo@...>
Apparently, Win95 does not support file associations from the command line.
[#8490] Translate daemon code to Windows? — "Chris Morris" <chrismo@...>
I'm trying to get httpd and rwiki to work on 95 and both have init code to
[#8508] Re: speedup of anagram finder — "SHULTZ,BARRY (HP-Israel,ex1)" <barry_shultz@...>
> go, either. The fact is, I've spent a lot of time the past couple days
[#8513] 1.6.2 on Dec Alpha — Hugh Sasse Staff Elec Eng <hgs@...>
And on a Dec Alpha system with gcc -v giving:
On Thu, 4 Jan 2001, Mathieu Bouchard wrote:
> > > And on a Dec Alpha system with gcc -v giving:
On Sun, 7 Jan 2001, Mathieu Bouchard wrote:
> > Here it is:
[#8527] Re: 1.6.2 on Solaris2.5.1 — ts <decoux@...>
>>>>> "H" == Hugh Sasse Staff Elec Eng <hgs@dmu.ac.uk> writes:
[#8565] optparse and rdtool — Hugh Sasse Staff Elec Eng <hgs@...>
Rebuilding stuff for 1.6.2, I see that RubyUnit says it's a good idea to
>...
[#8566] Visions for 2001/1.7.x development? — Robert Feldt <feldt@...>
Hi matz and other Ruby developers,
Hi,
On Fri, 5 Jan 2001, Yukihiro Matsumoto wrote:
[#8580] bug?? — jmichel@... (Jean Michel)
I don't understand the following behaviour:
On Thu, 4 Jan 2001, Jean Michel wrote:
In message "[ruby-talk:8580] bug??"
> A number of users was confused by these behavior, thus we have already
[#8599] Character classes in Ruby regexp — "Robert Gustavsson" <robertg@...>
Hi!
[#8633] Interesting Language performance comparisons - Ruby, OCAML etc — "g forever" <g24ever@...>
[#8651] Re: Interesting Language performance comparisons - Ruby, OCAML etc — "g forever" <g24ever@...>
Good observations.
[#8723] Re: Braces and begin/end — Kevin Smith <sent@...>
Robert Gustavsson wrote:
[#8745] (start..end) where start > end — "Robert Gustavsson" <0317025435@...>
Hi!
On Sun, 7 Jan 2001, Robert Gustavsson wrote:
[#8757] Backward Range implementation — Kevin Smith <sent@...>
Here's what I came up with that seems to work. I
[#8774] No :<, :>, etc. methods for Array — "Brian F. Feldman" <green@...>
So, why not include Comparable in Array by default? It shouldn't have any
Hi,
matz@zetabits.com (Yukihiro Matsumoto) wrote:
In message "[ruby-talk:8780] Re: No :<, :>, etc. methods for Array"
gotoken@math.sci.hokudai.ac.jp (GOTO Kentaro) wrote:
Hello --
David Alan Black <dblack@candle.superlink.net> wrote:
In message "[ruby-talk:8785] Re: No :<, :>, etc. methods for Array"
> -----Original Message-----
[#8808] Dynamic Flash movies from Ruby — Dave Thomas <Dave@...>
[#8829] Sandbox (again) — wys@... (Clemens Wyss)
Hi,
On 8 Jan, Clemens Wyss wrote:
[#8844] problems with mkmf.rb — DaVinci <bombadil@...>
Hi.
DaVinci <bombadil@wanadoo.es> wrote:
[#8908] Re: bug?? — Aleksi Niemel<aleksi.niemela@...>
matz said:
[#8931] String confusion — Anders Bengtsson <ndrsbngtssn@...>
Hello everyone,
Hi,
On Wed, 10 Jan 2001, Yukihiro Matsumoto wrote:
On Wed, 10 Jan 2001, Yukihiro Matsumoto wrote:
Hi,
On Wed, 10 Jan 2001, Yukihiro Matsumoto wrote:
[#8953] Please remove account from files — "Thomas Daniels" <westernporter@...>
Please take my e-mail address from your files and "CANCEL" my =
On Wed, 10 Jan 2001, Thomas Daniels wrote:
At Wed, 10 Jan 2001 14:23:30 +0900,
On Wed, 10 Jan 2001, Yasushi Shoji wrote:
[#8958] Re: Genetic Programming in Ruby — "Conrad Schneiker" <schneik@...>
Robert Feldt wrote:
[#8964] GULP (working title :-) related thoughts — David Alan Black <dblack@...>
Hello --
[#8971] Re: GULP (working title :-) related thoughts — "Conrad Schneiker" <schneik@...>
Dave Thomas wrote:
I don't know if 1.6.1 has a bug that's been fixed in 1.6.2 but I have used
[#8975] Re: Modules and mixins — Kevin Smith <sent@...>
Holden Glova wrote:
Kevin Smith <sent@qualitycode.com> writes:
[#8991] Why File::Stat? — "Hal E. Fulton" <hal9000@...>
I'm assuming that Stat is embedded inside File just
[#9008] using RUnit's setup and teardown methods — wlkleb@...
can someone show me how to use (or explain to me when i should use)
[#9035] Re: Regexp for matching Ruby reg exps? — "Ben Tilly" <ben_tilly@...>
Robert Feldt <feldt@ce.chalmers.se> wrote:
[#9047] Re: time to divide -talk? (was: Please remov e account from files) — Aleksi Niemel<aleksi.niemela@...>
Yasushi Shoji:
At Thu, 11 Jan 2001 00:20:45 +0900,
[#9063] Re: pid of executed program — ts <decoux@...>
>>>>> "L" == Laurence J Lane <ljlane@debian.org> writes:
[#9070] Re: time to divide -talk? — "Conrad Schneiker" <schneik@...>
David Alan Black wrote:
[#9106] Grabbing a char from the keyboard... — "Hal E. Fulton" <hal9000@...>
How does one accept a character from the keyboard
[#9120] ruby 1.6.2 and Debian 2.2 — Bostjan JERKO <Bostjan.Jerko@...>
Hi !
[#9159] Re: GULP (working title :-) related thoughts — "Conrad Schneiker" <schneik@...>
Dwight Tuinstra wrote:
[#9163] truncation of error strings — raja@... (Raja S.)
Is there any where to prevent the truncation of messages produced during
[#9179] "|" on front of aPortName — "Hal E. Fulton" <hal9000@...>
Hi guys...
[#9187] Re: Licensing issues — Kevin Smith <sent@...>
Robert Feldt wrote:
[#9195] Re: Redefining singleton methods — ts <decoux@...>
>>>>> "H" == Horst Duch=EAne?= <iso-8859-1> writes:
> From: ts [mailto:decoux@moulon.inra.fr]
[#9199] Class from name of class — Jim Menard <jimm@...>
I have a class name in a string, and I want to create an instance of that
[#9242] polymorphism — Maurice Szmurlo <maurice@...>
hello
Yukihiro Matsumoto <matz@zetabits.com> wrote:
[#9262] Rubicon now available via CVS — Dave Thomas <Dave@...>
[#9267] Re: polymorphism — chad fowler <chadfowler@...>
> >
"chad fowler" <chadfowler@yahoo.com> wrote in message
[#9279] Can ruby replace php? — Jim Freeze <jim@...>
When I read that ruby could be used to replace PHP I got really
> When I read that ruby could be used to replace PHP I got really
[#9368] Ruby 1.6.2 compilation problems on HP-UX 11 with gcc 2.95.2 with optimizations — "HOLOWKO,LARS (A-Germany,ex1)" <lars_holowko@...>
Trying to build Ruby like this
WATANABE Tetsuya <tetsu@jpn.hp.com> writes:
[#9395] Re: Do Vector and Matrix Classes Exist for Ruby? — "Conrad Schneiker" <schneik@...>
Gotoken wrote:
[#9411] The Ruby Way — "Conrad Schneiker" <schneiker@...>
As a member of the "Big 8" newsgroups, "The Ruby Way" (of posting) is to
Well, I have to say that I agree 100% with your previous post.
----- Original Message -----
----- Original Message -----
[#9427] Ruby CVS repositories are ready now — "Akinori MUSHA" <knu@...>
Hello,
[#9434] Re: 101 Misconceptions About Dynamic... — MICHAEL.W.WILSON@...
Subject:
[#9439] array.each_index_but_last ? — Hugh Sasse Staff Elec Eng <hgs@...>
What is the idiomatic Ruby way to go through all the elements of an array,
[#9462] Re: reading an entire file as a string — ts <decoux@...>
>>>>> "R" == Raja S <raja@cs.indiana.edu> writes:
ts <decoux@moulon.inra.fr> writes:
raja@cs.indiana.edu (Raja S.) writes:
Hi,
Mathieu Bouchard <matju@cam.org> writes:
> > File.open(path) {|f| f.read(*args) }
Hi,
[#9496] Re: Subprocess — Bostjan JERKO <Bostjan.Jerko@...>
Yeah and what if I want to run it on M$ ?
[#9521] Larry Wall INterview — ianm74@...
Larry was interviewed at the Perl/Ruby conference in Koyoto:
Larry Wall's interview is how I found out
>>>>> On Fri, 9 Feb 2001 00:40:02 +0900,
Does someone have a code snippet that they can point me to that allows
[#9598] Re: 101 Misconceptions About Dynamic Languages — "Christian" <christians@...>
I've really backed myself into a corner here. Witness my Houdini act.
[#9610] Re: 101 Misconceptions About Dynamic Languages — "Ben Tilly" <ben_tilly@...>
"Christian" <christians@syd.microforte.com.au> wrote:
[#9616] Re: 101 Misconceptions About Dynamic Languages — "Ben Tilly" <ben_tilly@...>
Peter Wood <peter.wood@worldonline.dk> wrote:
[#9619] Ruby mode for emacs — "R. Mark Volkmann" <volkmann2@...>
Is anyone successfully using Ruby mode for emacs under Windows 2000?
[#9682] Re: 101 Misconceptions About Dynamic Languages — "Ben Tilly" <ben_tilly@...>
"Christian" <christians@syd.microforte.com.au> wrote:
[#9709] Re: Ruby, FOX, and widely available C++ implementations (Was: Re: 101 Misconceptions About Dynamic Languages) — "Conrad Schneiker" <schneik@...>
Patrick Logan wrote:
[#9718] Can someone tell the the scoop on Mac ports — Dave Thomas <Dave@...>
[#9728] Re: Ruby vs. Python and Euphoria: sieve benc hmark — Aleksi Niemel<aleksi.niemela@...>
> Kenneth Rhodes writes:
[#9730] require loop — Ted Meng <ted_meng@...>
Hi,
[#9741] Re: Possible bug in Tempfile/Fork interaction — "Ben Tilly" <ben_tilly@...>
Martin G Dixon <mgdixon@ichips.intel.com> wrote:
[#9761] Re: 101 Misconceptions About Dynamic Languages — ts <decoux@...>
>>>>> "C" == Christoph Rippel <crippel@primenet.com> writes:
[#9781] Re: socket.rb? firewalls? — MICHAEL.W.WILSON@...
|--------+----------------------->
[#9792] Ruby 162 installer available — Dave Thomas <Dave@...>
[#9800] IOWA M.L. — Jilani Khaldi <jilanik@...>
Hi,
[#9824] Re: IOWA M.L. — chad fowler <chadfowler@...>
Avi Bryant <avi@beta4.com> writes:
[#9834] Problem with ruby-libglade 1.1 — schuerig@... (Michael Schuerig)
[#9843] The Ruby Programming Language — TAKAHASHI Masayoshi <maki@...>
Hi,
[#9847] Linux Expo Paris 1/31-2/2 — matz@... (Yukihiro Matsumoto)
Hi,
[#9904] Re: Learning Ruby — "Conrad Schneiker" <schneik@...>
Jim Freeze wrote:
[#9908] First quines in ruby? — "Conrad Schneiker" <schneik@...>
On Wed, 19 Jul 2000 Hal Fulton wrote:
[#9919] ANN: AspectR 0.2 — Robert Feldt <feldt@...>
Hi,
[#9930] a newbie ? — "Ralf" <Ralf.Jantschek@...>
Hello,
[#9949] Re: which ruby ...? — "Conrad Schneiker" <schneik@...>
Kent Dahl wrote:
[#9958] Re: Vim syntax files again. — "Conrad Schneiker" <schneik@...>
Hugh Sasse wrote:
On Sat, 27 Jan 2001, Conrad Schneiker wrote:
On Mon, 29 Jan 2001 19:36:49 +0900, Hugh Sasse Staff Elec Eng wrote:
On Mon, 29 Jan 2001, hipster wrote:
On Mon, 29 Jan 2001, Hugh Sasse Staff Elec Eng wrote:
[#9959] Dynamically instantiating a class (with a string) — ptkwt@...2.teleport.com (Phil Tomson)
I know I could (and probably should) do this with some kind of a factory
[#9975] line continuation — "David Ruby" <ruby_david@...>
can a ruby statement break into multiple lines?
On Sat, 27 Jan 2001, David Ruby wrote:
>A statement break into mutliple lines if it is not complete,
<ale@crimson.propagation.net> wrote:
On Sun, 28 Jan 2001, Brian F. Feldman wrote:
Hi --
[#9980] Ruby refs on Slashdot — "Conrad Schneiker" <schneiker@...>
FYI. See the original for much better formatting and to see the links.
Hello --
[#9986] system command on Windows(Arrgghhh!) — ptkwt@...2.teleport.com (Phil Tomson)
[#10010] Re: exercise training program in ruby — MICHAEL.W.WILSON@...
|--------+----------------------->
[#10050] Arity of methods without having instance? — Robert Feldt <feldt@...>
Hi,
[#10076] RECEIVED: Re: REQUEST TO REMOVE SEQUENC... — MICHAEL.W.WILSON@...
Subject:
[#10123] RSVP (Ruby SerVer Pages -sort of :-) — "Pe, Botp" <botp@...>
Hi ALL:
[#10128] Ruby for DOS — Dave Thomas <Dave@...>
[#10136] Array's undocumented features — Mathieu Bouchard <matju@...>
[#10141] ArrayMixin 0.2 — Mathieu Bouchard <matju@...>
[#10142] DateTime class for Ruby? — Michael Neumann <neumann@...>
Hi,
[#10153] Re: DateTime class for Ruby? — "Ben Tilly" <ben_tilly@...>
andy@toolshed.com (Andrew Hunt) wrote:
[ruby-talk:9486] Re: 101 Misconceptions About Dynamic Languages
Christian <christians@syd.microforte.com.au> wrote:
>Hi Josh,
>
>> References and containers can do the trick as well. For instance, take
>> the following scenario:
>>
>> You create some sort of sorted container that holds
>> complex objects by value. You lookup one of those objects
>> and you want to do a number of operations involving one of
>> its subparts. For efficiency, get a reference to that
>> sub-part, so you don't need to keep asking for it or
>> make an extra copy. Then, in a moment of blindness,
>> some result causes you to insert a new item in
>> the container. You may very well now have an
>> invalid reference.
>I don't intend to argue pedantics, but there are no sorted containers that
>allow mutable access to its member elements: set<Ty>::iterator is a synonym
>for set<Ty>::const_iterator. Even so, I take your point -- if you modify a
>container whilst you are traversing it, you are asking for trouble.
I was talking about a case where the container (not necessarily a std
container) is sorted by keys and you are modifying its data fields.
That is very common. The issue I had in mind wasn't related to losing
the place of the iterator (which most people know is a nono) but
simply that assignment operations might take place as a result of
an insertion which have the effect of silently deallocating and
reallocating some memory, swapping it around. The swapping
is correct relative to the external semantics of the container,
but the poor programmer is referencing a hunk of memory that
'don't work no more'.
>Yes,
>I've done this before and yes it is difficult to find the problem. Using
>smart pointers helps. So does simply not mutating a container that you are
>iterating over. If banging your head against a wall hurts, my best advice is
>to stop banging your head against the wall.
The point of this part of the discussion was that there are practical
consequences to the lack of type safety in C++, for both "expert"
and novices. Your claim that one can avoid that by using containers,
references, and no casts, is not true in theory or in practice.
>> >e) You don't need to 'write a wrapper for calling compiled code'. You
>just
>> >call it.
>>
>> Are you really familiar with Managed C++? I'm not, but Microsoft seems
>> to have a different ideas about it than you do:
>> http://msdn.microsoft.com/vstudio/nextgen/technology/managedext.asp
>
>Just because they mention the word 'wrapper' in the context of MC++ means
>little.
It means that you have to explicitly write something for each compiled class
and function that you want to use. That is an important point of similarity
with calling C++ from other interpreted languages, and it's something
that you explicitly denied and claimed as an advantage for Managed C++.
> [..] use managed extensions to write thin, high-performance wrappers
> that make your C++ code callable from .NET components.
>
>and
>
> The wrapper class acts as a mapping layer between the managed class and
>the unmanaged C++ class.
>
>Fairynuff. All this says is that you must use a .NET CLR language in there
>somewhere if you wish to use .NET CLR.
We were talking about access to non .NET stuff from .NET
One of the main reasons to use something like C++ in the first
place is its performance as non .NET stuff. If one isn't
interested in that, I don't think it is the right language
choice.
>If you are staying within the CLR howerver (for instance, calling MC++ from
>Python, or building a VisualBasic class hierarchy using a mixture of MC++
>and Perl classes), then you do not need to 'wrap' anything. From Python, if
>you want to call a method defined in VisualBasic, you just call it. From
>REXX, if you want to create an object that is defined in MC++, you just do
>so. No wrapping required.
Which is interesting, probably much more complicated and subtle in practice,
than you (and Microsoft?) claim, but also beside the point.
>> I know quite a bit about templates and template 'meta-programming'.
>> That's why I mentioned templates in response to your original claim
>> that C++ provides good support for metaprogramming. It doesn't.
>>
>> The book _Generative Programming: Methods, Tools, and Applications_
>> by Czarnecki and and Eisenecker has some especially amusing chapters
>> on the theoretical Turing completeness template meta-programs.
>
>Sorry, I had some trouble understanding the end of this sentence.
They show how to build things like conditionals and looping constructs
out of template type instantiations operations and parameterized typedefs,
which theoretically allows one to arbitrarily manipulate class definitions
within the compile time instantiation process itself (assuming idealizations
like unbounded definitional recursion, etc.)
>> But from a practical point of view, these techniques are mostly
>> amusing tricks.
>
>You obviously haven't used meta-programming techniques practically then.
I was talking about the techniques in the book in a somewhat
tongue and cheek way. The point being that one doesn't want to
write programs in this awkward meta language to create real programs
unless one has to. It is much nicer to work with a language like
Ruby or Common Lisp that is designed to do powerful manipulations on
text and can then execute the results.
>They don't address most of the real world
>> meta-problems that a programmer might face and they don't
>> transcend the need to be able to define the executable
>> routines of interest at compile time, before interacting
>> with the user and their specific input and data.
>Um, what is a 'meta-problem'?
Writing a piece of code using a parameterized 'specification' of
some type, that will solve an object language problem.
>Surely there are just problems.
Is the problem fully specified at compile time? If it's
not, then it probably has to be solved in different way in a static
language like C++.
>Maybe we are
>talking about different things. By "meta-programming" I mean a set of
>techniques that allow the programmer to define and build-up types and type
>systems programmatically. What you describe sounds like choosing a DLL to
>load. That isn't called "meta-programming", that's called "loading a DLL".
>I have also heard the term 'meta-programming' used in a different context,
>namely the study of program structure and some parsing systems. But when I
>refer to "meta-programming", I am explicitly refering to the former
>definition. For instance I find the following types as important as anything
>else in my toolbox:
>
>template <int Test, typename A, typename B>
>struct IF { typedef A Result; }
>
>template <typename A, typename B>
>struct IF<0, A, B> { typedef B Result; }
>
>template <class Ty>
>struct is_void { enum { Result = false; } };
>
>template <>
>struct is_void<void> { enum { Result = true; } };
>
>template <class Ty>
>struct Storage {
> typedef IF<is_void<Ty>::Result, char, Ty>::Result StorageType;
>private:
> StorageType storage; };
>
>Storage<void> foo;
>Storage<string> bar;
Yes, this is the type of technique that Czarnecki et al. discuss.
And once again, my point is that all of your parameters that are
used to build these structures need to be defined at compile
time, and also this meta-language is very awkward to work
with - it can't take strings or floats as first-class
parameters, for example.
>> ordinary function object technique is a big improvement
>> on C, in this regard, but still quite limited compared
>> to the techniques offered by an interpreted language
>> with closures, etc.
>
>Many meta techniques are meaningless outside of a strong statically typed
>system. Or perhaps that is true only as far as my understanding of meta
>programming. Perhaps you could give some examples of meta programming in
>Ruby or another interpreted language?
There are many routines for taking strings and interpreting them
as excutable code or insructions for modifying existing
code. These include the methods instance_eval and send of class Object
and eval and proc of the module Kernel, but there are many
others. Any routine for creating appropriate strings can be
used with these methods to do meta-programming. This is
so straightforward in a language like Ruby that mostly nobody
bothers to name it as such. It is taken for granted. There
are also lots of methods for getting string representations
of existing objects and methods that can then be embedded in
other string constructions.
>Post script. Perhaps you mean generating program source code from a program?
>That would qualify as 'meta-programming' as well, although it would seem a
>less elegant solution (if only because it requires two stages).
In Ruby and other dynamic languages, there are not separate stages.
In C++, if one wants to use the full power of the C++ language to
do the meta-programming, then it would be a separate stage and it
would involve a system call to a compiler, which is not part of
the language. Otherwise, one must work with unexpressive template
meta language.
-= Josh