Skip to content

Commit

Permalink
Merge pull request #218 from nickel-lang/optimize-symbolic-strings
Browse files Browse the repository at this point in the history
Optimize the symbolic strings contract
  • Loading branch information
yannham authored Jun 26, 2024
2 parents 4bfd9a9 + bd88905 commit 340adc0
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions lib/nix-interop/derivation.ncl
Original file line number Diff line number Diff line change
Expand Up @@ -165,13 +165,15 @@ in
# We accept a single string fragment (a plain string, a derivation or a
# Nix path). We normalize it by wrapping it as a one-element array
else if predicate.is_string_fragment value then
mk_nix_string [std.contract.apply NixStringFragment label value]
mk_nix_string [value]
else
# TODO: it's for debugging, but we should remove the serializing at some
# point.
let label = std.contract.label.append_note (std.serialize 'Json value) label in
let { fragments, .. } = std.contract.apply NixSymbolicString label value in
mk_nix_string fragments,
mk_nix_string
(
std.array.flat_map
(fun elt => elt.fragments)
fragments
),

NixDerivation
| doc m%"
Expand Down

0 comments on commit 340adc0

Please sign in to comment.