> On Dec 4, 2016, at 2:40 PM, Robin Sommer <[email protected]> wrote:
> 
> "(v as T)$foobar” vs "as<T>(v)$foobar”.

Could just do some time trials to see which one people can type faster.  
There’s online typing speed tests that let you enter the test’s text.  I 
consistently typed "(v as T)$foobar” faster.

>> Is there a reason "type(v)” can’t be stored?
> 
> Mind elaborating how you would expect to use that?

Was thinking I’d end up doing something like (more a personal habit/style 
thing):

        local t = type(v);

        if ( t == count )
                …
        else if ( t == int )
                ...

But this example came to mind only because the draft didn’t have “v is T”.  
Point seems moot now.

> seems the existing switch could just infer that it's maching types by
> looking at case values: if they are types, it'd use "is" for
> comparision.

+1

>>  - In the switch statement, I would require that a user either provide
>>    a default case or fully enumerates all cases. Otherwise it's too
>>    easy to cause harder-to-debug run-time errors.
> 
> Are we requiring "default" for the standard switch statement? If so, I
> agree it makes sense to do the same here (otherwise, not so sure,
> because of consistency).

The “default" case is optional.  If it were required, I wouldn’t feel safer — 
maybe I don’t frequently make/see mistakes related to that and/or don’t find 
them hard to debug.

More often I’ve seen forgotten “break” at the end of a cases causing 
unintentional fallthroughs, but Bro does require explicit “break” or 
“fallthrough” statement to end cases.

- Jon

_______________________________________________
bro-dev mailing list
[email protected]
http://mailman.icsi.berkeley.edu/mailman/listinfo/bro-dev

Reply via email to