On Sat, Mar 13, 2004 at 12:03:35AM +0200, arcadi shehter wrote: : some time in the past there was a talk about ... ?? ... :: ... operator being : a combination of two binary : ?? and :: . But I dont know the ruling. : If one factorize trinary ??:: to two binary operators, : ?? could act a postfix topicalazer while :: becomes binary : operator : : $a :: $b evaluates to left or right argument according to true/false property of the _current topic_ : something like infix:::($a,$b){ given CALLER::_ { when .true return $a ; return $b } but it evaluate $b only : if necessary.
By that argument, ordinary "if" should topicalize, and I don't think we should be confusing boolean evaluation with topicalization. Conditionals are so often "smaller" than the current topic. We shouldn't force topicalizing on what is essentially a bit. Usually it's some minor aspect of the current topic that we're testing, and narrowing the scope of the topic is not what the user will want or expect. Larry