about summary refs log tree commit diff
path: root/users/sterni/nix/list/default.nix
AgeCommit message (Collapse)AuthorFilesLines
2024-03-10 r/7663 feat(sterni/nix/lists): implement transposesterni1-0/+30
This function is inspired by BQN's [⍉] though it is much less elegant since Nix lacks multi-dimensional arrays. I thought this would be useful to to avoid multiple `map`s over a single list if we want to return multiple, separate values from it: transpose (builtins.map (x: [ (calcA x) (calcB x) ]) myList) # => [ [ (calcA a) … ] [ (calcB a) … ] ] While this is quite elegant, it turns out that it is faster to write out multiple maps: [ (builtins.map calcA myList) (builtins.map calcB myList) ] [⍉]: https://mlochbaum.github.io/BQN/doc/transpose.html Change-Id: Ic333c33af38ab03573b215c9696d75caf2ee18e7 Reviewed-on: https://cl.tvl.fyi/c/depot/+/11113 Reviewed-by: sterni <sternenseemann@systemli.org> Autosubmit: sterni <sternenseemann@systemli.org> Tested-by: BuildkiteCI