tweag / nickel

Better configuration for less
https://nickel-lang.org/
MIT License
2.43k stars 93 forks source link

Add support for packages to nickel-lang-core #2094

Closed jneem closed 1 week ago

jneem commented 1 week ago

These are the changes to the core crate, picked out from the npm branch.

Essentially, this enables the import pkg syntax, and introduces PackageMap for figuring out how to interpret those import statements.

It also includes deserialization support for enum variants, because I ran into that while working on manifest files. That's unrelated to most of the changes here, so I could break it out as a separate PR if you want.

github-actions[bot] commented 1 week ago

🐰 Bencher Report

Branchnpm-core
Testbedubuntu-latest
Click to view all benchmark results
BenchmarkLatencynanoseconds (ns)
fibonacci 10📈 view plot
🚷 view threshold
499,480.00
foldl arrays 50📈 view plot
🚷 view threshold
1,682,700.00
foldl arrays 500📈 view plot
🚷 view threshold
6,784,800.00
foldr strings 50📈 view plot
🚷 view threshold
7,165,700.00
foldr strings 500📈 view plot
🚷 view threshold
62,759,000.00
generate normal 250📈 view plot
🚷 view threshold
45,428,000.00
generate normal 50📈 view plot
🚷 view threshold
2,142,500.00
generate normal unchecked 1000📈 view plot
🚷 view threshold
3,385,600.00
generate normal unchecked 200📈 view plot
🚷 view threshold
768,080.00
pidigits 100📈 view plot
🚷 view threshold
3,233,400.00
pipe normal 20📈 view plot
🚷 view threshold
1,514,600.00
pipe normal 200📈 view plot
🚷 view threshold
10,238,000.00
product 30📈 view plot
🚷 view threshold
839,010.00
scalar 10📈 view plot
🚷 view threshold
1,537,800.00
sum 30📈 view plot
🚷 view threshold
829,560.00
🐰 View full continuous benchmarking report in Bencher