lix/src
polykernel a382919d7d
primops: lazy evaluation of replaceStrings replacements
The primop `builtins.replaceStrings` currently always strictly evaluates the
replacement strings, however time and space are wasted for their computation
if the corresponding pattern do not occur in the input string. This commit
makes the evaluation of the replacement strings lazy by deferring their
evaluation to when the corresponding pattern are matched and memoize the result
for efficient retrieval on subsequent matches.

The testcases for replaceStrings was updated to check for lazy evaluation
of the replacements. A note was also added in the release notes to
document the behavior change.
2023-05-25 18:35:23 -04:00
..
build-remote Split comment, match with each variable 2023-05-08 10:08:01 -04:00
libcmd Make more string values work as installables 2023-05-15 09:03:38 -04:00
libexpr primops: lazy evaluation of replaceStrings replacements 2023-05-25 18:35:23 -04:00
libfetchers Remove unused 2023-05-18 13:26:23 +03:00
libmain nix: Support the --repair flag 2023-04-28 17:03:04 +02:00
libstore Fix typo in error message of too long store path 2023-05-24 01:24:28 +08:00
libutil Merge pull request #8354 from KasyanDiGris/git-fetcher-ask-credentials 2023-05-19 13:40:43 +02:00
nix nix flake check: skip derivations for foreign systems (#7759) 2023-05-23 06:59:44 +02:00
nix-build nix: Support the --repair flag 2023-04-28 17:03:04 +02:00
nix-channel Factor out the generation of the profile/channel directory 2023-03-23 10:22:42 +01:00
nix-collect-garbage Make nix-collect-garbage -d look into more places 2023-05-15 11:36:53 +02:00
nix-copy-closure Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
nix-env nix: Support the --repair flag 2023-04-28 17:03:04 +02:00
nix-instantiate nix: Support the --repair flag 2023-04-28 17:03:04 +02:00
nix-store Revert "Revert "Use template structs instead of phantoms"" 2023-05-17 22:44:47 -04:00
resolve-system-dependencies Remove FormatOrString and remaining uses of format() 2023-03-02 15:57:54 +01:00
toml11 Replace cpptoml with toml11 2021-12-17 22:03:33 +01:00