[#4766] Wiki — "Glen Stampoultzis" <trinexus@...>

21 messages 2000/09/04
[#4768] RE: Wiki — "NAKAMURA, Hiroshi" <nahi@...> 2000/09/04

Hi, Glen,

[#4783] Re: Wiki — Masatoshi SEKI <m_seki@...> 2000/09/04

[#4785] Re: Wiki — "NAKAMURA, Hiroshi" <nakahiro@...> 2000/09/05

Howdy,

[#4883] Re-binding a block — Dave Thomas <Dave@...>

16 messages 2000/09/12

[#4930] Perl 6 rumblings -- RFC 225 (v1) Data: Superpositions — Conrad Schneiker <schneik@...>

Hi,

11 messages 2000/09/15

[#4936] Ruby Book Eng. translation editor's questions — Jon Babcock <jon@...>

20 messages 2000/09/16

[#5045] Proposal: Add constants to Math — Robert Feldt <feldt@...>

15 messages 2000/09/21

[#5077] Crazy idea? infix method calls — hal9000@...

This is a generalization of the "in" operator idea which I

17 messages 2000/09/22

[#5157] Compile Problem with 1.6.1 — Scott Billings <aerogems@...>

When I try to compile Ruby 1.6.1, I get the following error:

15 messages 2000/09/27

[ruby-talk:5146] Re: Types and ===

From: schneik@...
Date: 2000-09-27 07:45:22 UTC
List: ruby-talk #5146


Hi,

Hal writes:

# Well, Aleksi,
#
# You and Conrad are certainly following the
# Principle of Greatest Surprise.

I'm have no idea how you drew that connection in my case, especially since
both of you omitted to quote, mention, or summarize most everything of
relevance in my original note, and both of you seemed to miss its main
point.

# But seriously, folks!

I was serious--since this involves case statements, I gave you a list of
example relations that many AI workers deal with in doing case-based
reasoning (hope that's not 2 repundant; all 3 puns intended :-), among
many other things. AFAIK this sort of usage might one day escape the
confines of LISP/CLOS-like languages and exponentially mass produce
themselves in Ruby case statements. (Just my 9K cents worth. :-)

# Can we tweak the universe so that x===y
# always means y===x? Any reason why we
# shouldn't?

Or any reason why maybe we can't? See below....

# Ask yourself this: Why is the case limb expression
# the receiver instead of the tested expression being
# the receiver? (I.e., we say "case other; when receiver..."
# not "case receiver; when other...")
#
# This means that when x is a string and y is a pattern,
# x =~ y means y===x. Why not x =~ y means x===y?

Well, if that were all you wanted to change, I don't have any particular
problem with that. (But I haven't had time to think about it, either.)

# Or why not (as I am really thinking) have both mean
# the same thing?

Because many of the world's common prepositional and similarity relations
(if you are going to include them in the "===" realm) just don't work that
way in general (special cases notwithstanding); hence my original question
(which both of you effectively neglected to mention or answer).

But here is a still more general question: why would you want to preclude
"===" from potentially being *any* suitable 2-place predicate method
whatsoever?

Conrad Schneiker
(This note is unofficial and subject to improvement without notice.)



In This Thread

Prev Next