> From: Geir Magnusson Jr. [mailto:[EMAIL PROTECTED]]
>
>
> There are a few issues pending that we should talk about. Some came
> from watching turbine list, some from discussion (thanks, Fedor).
>
> 1) What do we do about determining if a reference is null in VTL?
>
> Currently, we can use #if(), but that's misleading - if the
> reference is
> in the context, is a boolean, and is false, than we get the
> same result
> as if the thing wasn't in there. So thats no good. So we need
> something that is clear about what it does, and what the result means.
>
> Some suggestions :
>
> - use something like : #if( $foo == null )
> I like this one, but Fedor noted we might want to keep
> the concept of null out of things, although I think it
> is a keyword in javascript, so it isn't that foreign.
>
> - or #ifdefined( $foo ) or #ifdef( $foo )
> This is trivially easy to do.
>
> - or another operator : #if( ?$foo )
>
I like $?foo which play well with $!foo.
What I would suggest is having $?foo returned a boolean value
depending on whether $foo is defined or not.
The advantage of this is that one could use such a construct in
other than if:
#set($a = $?foo)
sets $a to true or false depending on whether foo is defined or not.
Still #if( $?foo ) works fine as we are just evaluating a boolean
expression.
>
> 2) Should we allow the following aliases for the logicals :
>
> logical AND : '&&' (current), '&', 'AND', 'and'
>
> logical OR : '||' (current), '|', 'OR', 'or'
>
> equality : '==' (current), '=', 'eq' ?
>
> Since there is little or no chance of offering bitwise operations in
> VTL, this might remove some confusion with designers (if
> there is any).
-1, I do not like providing multiple ways of saying the same thing
just for the sake of providing it. It usually backfires sooner or later.
Is there any problen with people using the current operators?
The more alternatives the more people get confuse beacuse they think the
different versions mean different things in ways they do not know.
Some times is true [e.g., #if($foo) vs. #if($?foo) ] and some times it does
not like above. It is better to only have the former.
Jose Alberto