[[@:] [draw] [dup [#: draw] dip of] ifte] `field def \ generate random field; [[field] right 2 list +: .:] `table def \ generate random table; [[[t i] t N [i @] amend3] let] `rows def \ table[;rows]; [[[t f g] N f [:] t g @ amend4] let] `cols def \ table[cols;]; [[[t f o] N o t f @ 3 list [xyzx] iterate] let] `where def \ where clause; [[[x y z] z x @ y i x @.] let] `xyzx def \ selection/order by; [where] `order def \ order and where are the same; [>:] `desc def \ grade down; [<:] `asc def \ grade up; [[[d] d d [?:] map] let [[d u] u [u d] [[?] right] each] let [[u k] u [#:] map k sv] let [[j] j ?: #: j] let [[c u] [c u]] let] `index def \ [..[vector]..] index; [[[t k f o] k [o f] [[name $:] dip $: , `$.] each , t k f o t k @ index aggr , 2 list +: .:] let] `group def \ group by; [[[t k f o i] [k last][+: +:]infra [t i xeq] each [f o] [t i xeq] each] let] `aggr def \ aggregate; [[[f o t i]t f @ i uncons first o] let] `xeq def \ execute aggregation function; [[[d n i] n &: i [+] 1 amend4] let] `count def; [[[d n i] n d prototype # i [+] d amend4] let] `sum def; [[[d n i] n d prototype # i [:] d amend4] let] `last def; [[[d n i] d n i sum d n i count %] let] `avg def; [[[d n i] n [] ,: # i [,] d amend4] let] `part def; [[[t d] t N [,] d amend4] let] `insert def \ table records insert -> table; [[[t f i d] t [f i] [:] dmend4] let] `update def \ table fields rows records update -> table; [[[t i] t N [i di] amend3] let] `delete def \ table rows delete -> table; [`F`G`H`I`J] 1000000 [[`a`b`c`d`e] 7 0 0 0] table `T def show time; T [`G`F] [[desc] [asc]] order T swap rows `V def show time; T [`F`G] [[[`a`b] lin &:] [5 = &:]] where T swap rows `U def show time; T [`F`G] [`H`H`H`I] [count sum avg sum] group `W def show time;