miller/internal/pkg/transformers
John Kerl d341cc6dd3
DSL functions for summary stats over arrays / maps (#1364)
* DSL stats functions [WIP]

* refactor

* move percentile computation to bifs module; iterate

* mode and antimode

* percentile iterate

* percentile sketching

* neaten

* unit-test iterate

* unify old & new min & max functions

* unit-test cases

* code-dedupe between mode and antimode

* make mode/antimode ties deterministic via first-found-wins rule

* online help strings for new stats DSL functions

* artifacts from `make dev`

* help info on how min/max now recurse into collections

* artifacts from `make dev`

* typofix
2023-08-26 16:02:30 -04:00
..
utils DSL functions for summary stats over arrays / maps (#1364) 2023-08-26 16:02:30 -04:00
aaa_chain_transformer.go Performance improvement: record-batching (#779) 2021-12-13 00:57:52 -05:00
aaa_record_transformer.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
aaa_transformer_table.go sub, gsub, and ssub verbs (#1361) 2023-08-19 17:23:01 -04:00
altkv.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
bar.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
bootstrap.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
case.go Unify the case verb, and add options (#1306) 2023-06-04 14:38:22 -04:00
cat.go mlr cat --filename / --filenum (#1080) 2022-08-20 08:42:15 -04:00
check.go Add empty-key check to mlr check (#1330) 2023-06-25 19:12:26 -04:00
clean_whitespace.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
count.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
count_similar.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
cut.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
decimate.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
doc.go Standardize Go-package structure (#746) 2021-11-11 14:15:13 -05:00
fill_down.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
fill_empty.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
flatten.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
format_values.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
fraction.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
gap.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
grep.go Fix mlr grep docs re OFS/OPS (#1309) 2023-06-06 00:18:51 -04:00
group_by.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
group_like.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
gsub.go sub, gsub, and ssub verbs (#1361) 2023-08-19 17:23:01 -04:00
having_fields.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
head.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
histogram.go Fix #1146 (#1157) 2022-12-29 13:58:50 -05:00
join.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
json_parse.go New mlr json-parse -k flag (#1291) 2023-05-13 11:22:01 -04:00
json_stringify.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
label.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
latin1_to_utf8.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
merge_fields.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
most_or_least_frequent.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
nest.go Small typos in documentation of mlr nest (#1352) 2023-08-09 10:50:26 -04:00
nothing.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
put_or_filter.go Complete #1181 (#1184) 2023-01-27 22:59:14 -05:00
README.md Standardize Go-package structure (#746) 2021-11-11 14:15:13 -05:00
regularize.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
remove_empty_columns.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
rename.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
reorder.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
repeat.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
reshape.go Docs re tail -f and --records-per-batch 1 (#1218) 2023-03-04 00:15:01 -05:00
sample.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
sec2gmt.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
sec2gmtdate.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
seqgen.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
shuffle.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
skip_trivial_records.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
sort.go Let mlr help take pre-flags, such as --always-color (#1292) 2023-05-15 01:14:59 -04:00
sort_within_records.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
split.go 1366 follow-up 2023-08-23 16:09:40 -04:00
ssub.go sub, gsub, and ssub verbs (#1361) 2023-08-19 17:23:01 -04:00
stats1.go Docs re tail -f and --records-per-batch 1 (#1218) 2023-03-04 00:15:01 -05:00
stats2.go Docs re tail -f and --records-per-batch 1 (#1218) 2023-03-04 00:15:01 -05:00
step.go Add mlr step -a rprod for running products (#1228) 2023-03-12 13:32:23 -04:00
sub.go sub, gsub, and ssub verbs (#1361) 2023-08-19 17:23:01 -04:00
summary.go Exclude median from summary default (#1131) 2022-11-26 10:34:28 -05:00
tac.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
tail.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
tee.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
template.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
top.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
unflatten.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
uniq.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
unspace.go mlr unspace verb (#1167) 2023-01-01 16:44:06 -05:00
unsparsify.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00
utf8_to_latin1.go Reduce number of os.Exit callsites, part 1 of n (#1055) 2022-07-09 18:53:24 -04:00

Logic for transforming input records into output records as requested by the user (sort, filter, etc.).:

  • The IRecordTransformer abstract record-transformer interface datatype, as well as the ChainTransformer Go-channel chaining mechanism for piping one transformer into the next.
  • The transformer lookup table, used for Miller command-line parsing, verb construction, and online help.
  • All the concrete record-transformers such as cat, tac, sort, put, and so on.