Skip to content

2023-02-13 - KDB Project Call Meeting Minutes #85

@alvin-c-shih

Description

@alvin-c-shih

Date

Monday, February 13, 2023 - 9:30am ET / 2:30pm UK

// Second Monday of every month

Attendees

Fullname Affiliation GitHub Username
Richard Dunn Anaconda @RichardDunn23
Alvin Shih Morgan Stanley @alvin-c-shih
James McLeod FINOS @mcleo-d
Fara Manjili Anaconda @fmanjili
Peter Gyorok KX Systems @gyorokpeter
Ross Duffy Morgan Stanley @rdffy
Connor Gervin KX Systems
Ian O'Dwyer KX Systems @iodwyer
Callum McCrea Morgan Stanley

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact legal@finos.org with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

// The primitives of RASP (Restricted Access Sequence Processing Language): 
tok:{x}
ind:{til count x}
len:{(count x)#count x}  // no atoms in RASP
sel:{if[0>type x;x:(count y)#x];if[0>type y;y:(count x)#y];x z\:/:y}
agg:{0^avg each y where each x}
// Higher level operations expressible with the primitives:
selector_width:{sum each x y}
Flip:{sel[ind x;len[x]-ind[x]+1;=]}
rev:{agg[Flip x;tok x]}
same_tok:{sel[tok x;tok x;=]}
select_all:{sel[(count x)#1;(count x)#1;=]}
// Example output:
q)rev"foo"
111 111 102f
q)"c"$rev"foo"
"oof"
q)Flip"foo"
001b
010b
100b
q)tok"foo"
"foo"
q)ind"foo"
0 1 2
def sort (vals ,keys , assume_bos=False ) {
    smaller = select (keys ,keys ,<) or
        ( select (keys ,keys ,==) and
          select ( indices , indices ,<) ) ;
    num_smaller =
        selector_width ( smaller ,
            assume_bos=assume_bos ) ;
    target_pos = num_smaller if
                    not assume_bos else
    (0 if indices==0 else ( num_smaller +1) ) ;
    sel_new =
        select ( target_pos , indices ,==) ;
    sort = aggregate ( sel_new , vals ) ;
}

WebEx info

Webex

Dial-in and Project Materials

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions