<p>Am 02.02.2016 16:11 schrieb "Martin" <<a href="mailto:fpc@mfriebe.de">fpc@mfriebe.de</a>>:<br>
><br>
> On 02/02/2016 13:24, Sven Barth wrote:<br>
>><br>
>><br>
>> > Look at the "iif" as an statement and the things will be simple.<br>
>><br>
>> BECAUSE. IT. IS. *NOT*. A. STATEMENT!<br>
>> It never was and it never will be! It returns a value and thus by definition it is an expression!<br>
>><br>
>><br>
> +1<br>
> And imho that why it is important that it does not look like a statement either, i.e. it does not start with a keyword.<br>
><br>
> also if we are discussing (are we?) a form like<br>
>   x:= iIf a>b  iThen c iElse b;<br>
> then why not<br>
>   x:=  a>b  ifThen c ifElse b;</p>
<p>Because I won't add new keywords just for this feature, especially if they are inside normal code (I'm a bit less strict outside of routine bodies ;) ).</p>
<p>Also in your second case especially the "ifThen" needs to be handled as an operator to avoid too big modifications of the parser that I don't see justified for something that should merely be a minor extension.</p>
<p>> What are the advantages/disadvantages they have over each other?</p>
<p>The former is much more easy to add as my patch in the "if-then-else expression" thread shows. The other will be be more complicated.</p>
<p>Regards,<br>
Sven</p>