* New fmtifnum DSL function
* doc-build artifacts for previous commit
* Make fmtnum/fmtifnum recursive over maps and arrays
* Online-help examples for fmtnum/fmtifnum
* doc-build artifacts for previous commit
* unit-test cases
* code-dedupe
* Add natural sort order as an option for the sort verb
* Add natural sort order as an option for the sort DSL function
* doc-build artifacts for on-line help
* webdocs
* codespell fix
* unit-test files for sort verb
* unit-test files for sort DSL function
Miller assumes 64-bit integers, but in Go, the int type varies in size
depending on the architecture: 32-bit architectures have int
equivalent to int32. As a result, the supported range of integer
values is greatly reduced on 32-bit architectures compared to what is
suggested by the documentation.
This patch explicitly uses int64 wherever 64-bit integers are
assumed.
Test cases affected by the behaviour of the random generator are
updated to reflect the new values (the existing seed doesn't produce
the same behaviour since the way random values are generated has
changed).
Signed-off-by: Stephen Kitt <steve@sk2.org>
* todo
* Neaten existing DSL sketch
* rebase on #893, and sketch
* code-complete
* build artifacts for previous commit
* replace - with _ in shift and slwin
In test cases, support a ${MLR} placeholder for the mlr binary under
test, instead of assuming it's ./mlr (or its equivalent on platforms
not using forward slashes).
This ensures that wrapped mlr invocations all use the same binary,
either the default or the binary specified by the user, avoiding
surprises when ./mlr doesn't exist or is a different version.
Signed-off-by: Stephen Kitt <steve@sk2.org>
* New format DSL function
* Updated affected test cases involving on-line help on "for" prefix
* doc-build artifacts for previous commit
* regression-test cases
* Continue from #856
* Update expected-fail messages in test cases
* Allow 0o... octal literals in the DSL
* Build artifacts for previous commit
* go.mod/go.sum for goccmack/gocc
* Regression-test case
* Doc updates
* Draw a distinction between JSON and JSON Lines formats
* Add JSON Lines to on-line help example
* Have JSON format default to --jlistwrap and --jvstack
* Update test cases for --jlistwrap output for JSON output format
* Have JSON format default to --jlistwrap and --jvstack for --{X}2j as well
* Make --jlistwrap / --jvstack as legacy flags, since now --json and --jsonl
* Add --c2l, --l2c, etc. command-line flags
* docmods for JSON Lines
* Update regression-test cases for JSON / JSON Lines distinction
* To-do items for broader platform/go-version benchmarking
* neaten inferrer API
* extend type-inference unit-test cases
* Add benchmark scripts for comparing compiler versions
* mlr version in addition to mlr --version
* some go-benchmark files for Mac/Linux perf comparisons
* neaten perf-scripts
* merge
* type-scan optimization tests
* type-scan optimization infra
* test new inferrer
* mlr --time option
* include --cpuprofile and --traceprofile in on-line help
* sharpen inferred/deferred-type API distinction
* replace old inferrer with newer/faster
* update docs for new type-inferrer
* JIT mlrval type-interfence: mlrval package
* mlrmap refactor
* complete merge from #779
* iterating
* mlrval/format.go
* mlrval/copy.go
* bifs/arithmetic_test.go
* iterate on bifs/collections_test.go
* mlrval_cmp.go
* mlrval JSON iterate
* iterate applying mlrval refactors to dependent packages
* first clean compile in a long while on this branch
* results of first post-compile profiling
* testing
* bugfix in ofmt formatting
* bugfix in octal-supporess
* go fmt
* neaten
* regression tests all passing