World-renowned Egyptologist Dr. Mark Lehner will speak at OOPSLA 2008 The OOPSLA conference attracts software technologists from around the world. Here they...
I (and many others) haven't posted here in a while, but I thought I'd give it a shot... :) In many languages, logic operators "and" and "or" have been...
... What the hey, I'll bite. It's bad practice. You're conflating different ideas- for example nil/null and false. Which becomes a problem if the programmer...
Replying to myself is bad etiquette, I know, but a new though just occurred to me. There is a logical fallacy a lot of people fall into that goes like this: ...
Sorry for the short response, but the question remains... Python, Javascript, Lua, Ruby, all use "or" and "and" as: 1 or 2 => 1 1 and 2 => 2 Can there be a...
... Yes, this is called the "coalesce" operator. My language, Cobra, has this as "a ? b" which evals to "a" unless it's nil, in which case it evals to "b"....
... Lisp, too. Pretty much any language without a separate boolean type that isn't trying to be C-compatible will naturally do the same thing. -- They do not...
... These rules are operationally meaningless. The compiler has no access to what the programmer means or might mean, only to what he says, which always ...
... foo()" which doesn't overload the logic operators? ... My language uses 'default' operator to achieve this. "x default 5" returns 5 if (and only if) the...
... There are languages beyond Python, Javascipt, Lua, and Ruby. And I should ask- what is the meaning of 1 or 2? I could make the cogent argument that the...
... This is NOT operationally meaningless. It's just very generic. A couple of specific examples help. A classic example of violating rule #2 is the dangling...
... Sure. It depends on how (and if) the language in question maps its values into booleans. Given that 1 is true (not the unique true value, but one of the...
... In one of several directory trees or ZIPfiles which mirror the package tree, is the more correct statement. The reason for that requirement is to permit...
Suppose you have a method that takes a sequence of names. In Python: def foo(names): for name in names: print name From a general language design perspective,...
Ahh, learn something every day :) What is the operator, if any, for the equivalent of "obj and obj.foo()"? One issue of introducing more operators is that you...
Questions - So why did you introduce a "default" operator vs. using "or"? And, why were you more strict about it than your coercive "+" operator? I ask only...
I'm familiar with other languages also, I just mention the ones below because they have the same semantics. When you say "compiler guessing", do you mean the...
I was first going to say that it seems like a nice idea. But then, you wouldn't know if you were passed an empty list, or simply null. In languages where nil...
... For an obj that is a nilable type? You can say exactly that: def compute(t as List<of int>?) if t and t.count print t.count Notice the ? on the type which...
The '+' and 'or' operator (and most other) behave in similar way. The '+' operator tries to convert it's operands to numbers. The 'or' operator tries to...
... In Cobra, if you want to know that, use an identity comparison to "nil": if stuff is nil print 'I was passed nil!' else print 'I has stuff but maybe...
... It depends. In Common Lisp, where nil is identified with the empty sequence, this should do nothing. In languages with distinct notions of null and the...
... Um, you *can* iterate over 5 in Cobra: for i in 4 print i gives 0, 1, 2, 3 ... True. ... I first discovered it by trying to foreach on a stream, such as...
... Well, okay, in that context you cast 5 to the sequence [0, 1, 2, 3]. But what happens if you iterate over 2.5, or over "foo", or over some arbitrary ...
... It's not even cast, but considered to be the "for-numeric" statement and runs at the same speed as a C for(int i...) loop. 2.5 is an error as it is neither...
"It's not a format argument, but I thing it is valid, as language designers should apply certain amount of aesthetics when designing the language." I...