mirror of
https://github.com/org-roam/org-roam
synced 2025-09-16 15:56:48 -05:00
The old implementation: - did not handle duplicate keys well (the function would be applied to each value, but only the first value would be updated with the last value's result) - was quadratic in the length of the input list (for each key, plist-put would search for the first occurrence of the key by going through all previous elements again) - copied the input sequence even though this was not really needed - did not provide a result value that could be useful, thus encouraging imperative programming - did not need to be a macro, and the macro implementation was evaluating fn multiple times and causing warnings in the native compiler because k and v were not bound.
16 KiB
16 KiB