KX Community

Find answers, ask questions, and connect with our KX Community around the world.
KX Community Guidelines

Home Forums KX Academy Understanding this line from vanilla tick set up

  • Understanding this line from vanilla tick set up

    Posted by mannix on March 15, 2022 at 12:00 am

    I’m wondering what this part of the line, it is a conditional does: not min(`time`sym~2#key flip value@)each t

    In particular why there is an @ Appy here?

    mannix replied 9 months, 3 weeks ago 3 Members · 2 Replies
  • 2 Replies
  • matt_moore

    Member
    March 15, 2022 at 12:00 am

    It’s creating a unary projection / composition for the part in brackets, could achieve the same with a lamda function:

     

    q)(`time`sym~2#key flip value@) ~[`time`sym]#[2]!+@[.:]

    q)(`time`sym~2#key flip value@) each t 110b q){`time`sym~2#key flip value x} each t 110b

     

    * there is an overhead with using lambdas so in tick it’s preferred to be as efficient as possible

  • Laura

    Administrator
    March 16, 2022 at 12:00 am

    Where u, v, w, etc. are unaries then u v w@ is a unary composition equivalent to {u v w x}.

    In this case two of the five unaries are projections. A little spacing clarifies:

     

    (`time`sym~ 2# key flip value@) each t

     

Log in to reply.