Why do we use sel[x] here in u.q, could we not have just used x?

sel:{$[`~y;x;select from x where sym in y]} / from u.q

My understanding is that sel returns x unless you enter a y?

If this is the case, could we not have used “x” instead of “sel” in pub?

pub:{[t;x]{[t;x;w]if[count x:selw 1;(neg first w)(`upd;t;x)]}[t;x]each w t}

Hi,

The selw 1 , call is the same as sel[x;w 1].  So, y =w 1, which will be a list of symbols or  if no filtering on syms is to be applied.  Then within sel function, filtering is applied if y is not equal to   with the select from x where sym in y.

Omitting sel from the pub function would remove this functionality to subscribe to a subset of syms.

Let me know if this helps or not.

Patrick