"15" is an isomorphism of 15, so why shouldn't "15" == 15?
Name:
Anonymous2015-03-21 19:14
Because it's not an isomorphism.
15 can be represented as "15" or as "0xF" or as "16" or as a myriad other strings. There is no bijective correspondence.
Name:
Anonymous2015-03-21 19:19
>>2 The set of all finite strings are countable; there is a bijective relatioship with the natural numbers. There is an isomorphism.
Name:
Anonymous2015-03-21 19:25
>>3 Yes, we know that strings are represented as binary numbers inside computers. But that is uninteresting.
Name:
Anonymous2015-03-21 20:45
The existence of an isomorphism between two structures doesn't imply their equality, Undergrad-kun.
"15" is not ``an isomorphism of 15'' (that doesn't even make sense), though there exists an isomorphism between the set of strings composed only by digits between 0 and 9 and the set of natural numbers. If you had some way of creating this function and calling it f, the proper way of comparing these two is creating an isomorphism operator. Let's call it ~(f). In that case, you'd want your language to evaluate "15" ~(f) 15 as true, yet it is never true that "15" == 15.
Take your Javashit anal prolapse somewhere else.
Name:
Anonymous2015-03-21 22:10
>>1 "15" is really 0x31 0x35 and so doesn't really equal 15 at all.
Name:
Anonymous2015-03-22 0:52
>>5 There is an information preserving transformation between the two representations of the same thing. You can argue that 15 is a number while "15" is a numeral, but those are the same thing to all but the most circlejerking of philosophers.
Name:
Anonymous2015-03-22 1:56
>>7 1 and 3 are congruent modulo 2. Does that mean I should replace all instances of 3 with 1 since they're ``the same''?
Having an isomorphism between two structures isn't a valid excuse to completely ignore the type system. Just because you're too lazy to use a cast doesn't mean you should encourage Javashitters and PHP curryniggers to continue their loosely-typed idiocy.
Name:
Anonymous2015-03-22 3:05
In feminist programming all things are equal to all other things.
>>1 At first sight, it sounds reasonable. But your language design becomes either very shitty (PHP, Perl) or overly complex (C++) because you would have to add comparison with string representation to other types for symmetry, this is where the difficulties kick in. Is 0 == "0buttrue"? Is false == "false"? Is false == ""? Is 0 == ""? Is false == "FalSE"? Is [1, 2, 3] == "[1, 2, 3]"? Is 0.3 == "0,3" if you are using Danish locale? Is false == "falsk"? All of this seems doable and implementable in intuitive way, but I'm yet to see a language that handles this in non-irritating form.
>>13 It's not, unless you fix the digit alphabet. It's not a law of nature that "F" must represent the digit whose value is 15, it could stand for 3 or 105 (in base-106, for example).
-\mathbb{Z} is isomorphic to \mathbb{Z}, so why shouldn't -1 == 1?
Name:
Anonymous2015-03-23 7:18
>>8 Types were a shitty hack invented in a failed effort to sew set theory's gaping anus back shut, and they couldn't even accomplish that without further infinite subtyping bullshite. Isn't it time to set aside Russell's Jewish set theory and embrace category theory?
Name:
Anonymous2015-03-23 15:37
>>20 How would category theory make up for any of the shortcomings of type theory? I'm legitimately curious.