snix/users/sterni/exercises/aoc/lib.bqn
sterni eeba67de1c refactor(sterni/blërg): avoid calling mhdr once per header
We can actually get all the headers we are interested in just one call
of mhdr(1) since it can query multiple headers in multiple messages in
just one call. With BQNs reshape / two dimensional array facilities it
is easy to group the lines of headers by their originating message and
append the original path to the result array.

We still use a separate mhdr(1) call for the Date header since we rely
on the -D option for parsing the header.

Change-Id: Iaaf8f21fa22ab3e32e6900df4ae164e72c722cd3
Reviewed-on: https://cl.tvl.fyi/c/depot/+/13016
Reviewed-by: sterni <sternenseemann@systemli.org>
Tested-by: BuildkiteCI
Autosubmit: sterni <sternenseemann@systemli.org>
2025-02-05 18:22:34 +00:00

23 lines
704 B
BQN
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

IsAsciiNum ('0''9')
IsAlpha (('a''z')('A''Z'))
# based on leah2's function
ReadInt {
𝕨 𝕊 𝕩: '-'=𝕩? -𝕨 𝕊 1𝕩;
𝕨 𝕊 𝕩: (𝕨×+)´-'0'𝕩
}
ReadDec 10ReadInt
SplitOn (( (-1˙)¨ +`(1»<))(¨))
SplitAt (())
_fix {𝕩 𝕊 𝔽 𝕩}
ImportBqnLibs {•Import 𝕩˜"/"˜¯11•SH "printenv""BQNLIBS"}
Xor (¬¬)
# To get all Diagonals (⊢∾○Diagonals⌽)
Diagonals {(00 𝕩)¨ (𝕩)}
ApplyMany {fs 𝕊 arg: {𝕏 arg}¨ fs}