Is this behavior expected?

<o:p> </o:p>

<o:p> </o:p>

KDB+ 3.3 2015.11.03 Copyright (C) 1993-2015 Kx Systems     <o:p></o:p>

<o:p> </o:p>

                                                           <o:p></o:p>

q)f:{x}                                                    <o:p></o:p>

q).[f;(),1]                                                <o:p></o:p>

1                                                          <o:p></o:p>

q).[f;(),1;{`$x}]                                          <o:p></o:p>

1                                                          <o:p></o:p>

q).[`f;(),1]                                               <o:p></o:p>

1                                                          <o:p></o:p>

q).[f;(),1;{$x}]   / imho: this should not throw an error<o:p></o:p>

'type                                                      <o:p></o:p>

<o:p> </o:p>

Kim                       <o:p></o:p>

<o:p> </o:p>

Yes, .[fn;arg;errFn] is a catch block and it requires a real fn not its name,  otherwise the meaning of this statement would be unclear - is it a catch block or unary function application to the global:

f:{x}

.[`f;();{x 1}]

q)f
1

WBR, Andrey Kozyrev.

???, 9 ??? 2016 ?., 20:03:17 UTC+3 ??? kuentang ???:

 

 

KDB+ 3.3 2015.11.03 Copyright (C) 1993-2015 Kx Systems    

 

                              

q)f:{x}                       

q).[f;(),1]                   

1                                             

q).[f;(),1;{`$x}]             

1                             

q).[`f;(),1]                  

1                             

q).[f;(),1;{$x}]   / imho: this should not throw an error

'type                         

 

Kim                       

 

Yes, the night was too long and forgot that dot with three arguments can also mean functional application.<o:p></o:p>

<o:p> </o:p>

Actually this breaks my bt library:  https://github.com/kimtang/btlib-bt <o:p></o:p>

<o:p> </o:p>

Thanks,<o:p></o:p>

<o:p> </o:p>

Kim<o:p></o:p>

<o:p> </o:p>

Von: personal-kdbplus@googlegroups.com [mailto:personal-kdbplus@googlegroups.com] Im Auftrag von Andrew Kozyrev
Gesendet: Montag, 11. Januar 2016 11:51
An: Kdb+ Personal Developers
Betreff: [personal kdb+] Re: Is this behavior expected?<o:p></o:p>

<o:p> </o:p>

Yes, .[fn;arg;errFn] is a catch block and it requires a real fn not its name,  otherwise the meaning of this statement would be unclear - is it a catch block or unary function application to the global:<o:p></o:p>

<o:p> </o:p>

f:{x}<o:p></o:p>

.[`f;();{x 1}]<o:p></o:p>

<o:p> </o:p>

q)f
1<o:p></o:p>

<o:p> </o:p>

WBR, Andrey Kozyrev.<o:p></o:p>

???, 9 ??? 2016 ?., 20:03:17 UTC+3 ??? kuentang ???:<o:p></o:p>

 <o:p></o:p>

 <o:p></o:p>

KDB+ 3.3 2015.11.03 Copyright (C) 1993-2015 Kx Systems     <o:p></o:p>

 <o:p></o:p>

                                                           <o:p></o:p>

q)f:{x}                                                    <o:p></o:p>

q).[f;(),1]                                                <o:p></o:p>

1                                                          <o:p></o:p>

q).[f;(),1;{`$x}]                                          <o:p></o:p>

1                                                          <o:p></o:p>

q).[`f;(),1]                                               <o:p></o:p>

1                                                          <o:p></o:p>

q).[f;(),1;{$x}]   / imho: this should not throw an error<o:p></o:p>

'type                                                      <o:p></o:p>

 <o:p></o:p>

Kim                       <o:p></o:p>

 <o:p></o:p>


Submitted via Google Groups