5d73c06b1a
This is a persistent, structurally sharing data structure which is more efficient in some of our use-cases. I have verified the efficiency improvement using `hyperfine` repeatedly over expressions on nixpkgs. Lists are not the most performance-critical structure in Nix (that would be attribute sets), but we can already see a small (~5-10%) improvement. Note that there are a handful of cases where we still go via `Vec` that need to be fixed, most notable for `builtins.sort` which can not currently be implemented directly using `im::Vector` because of a restrictive type bound. Change-Id: I237cc50cbd7629a046e5a5e4601fbb40355e551d Reviewed-on: https://cl.tvl.fyi/c/depot/+/7670 Tested-by: BuildkiteCI Reviewed-by: sterni <sternenseemann@systemli.org>
26 lines
491 B
TOML
26 lines
491 B
TOML
[package]
|
|
name = "tvixbolt"
|
|
version = "0.1.0"
|
|
edition = "2021"
|
|
|
|
[dependencies]
|
|
yew = "0.19.3"
|
|
yew-router = "0.16"
|
|
codemap = "0.1.3"
|
|
serde_urlencoded = "*" # pinned by yew
|
|
rnix = "0.11.0"
|
|
|
|
# needs to be in sync with nixpkgs
|
|
wasm-bindgen = "= 0.2.83"
|
|
|
|
[dependencies.tvix-eval]
|
|
path = "../../tvix/eval"
|
|
default-features = false
|
|
|
|
[dependencies.serde]
|
|
version = "*" # pinned by yew
|
|
features = [ "derive" ]
|
|
|
|
[dependencies.web-sys]
|
|
version = "*" # pinned by yew
|
|
features = [ "HtmlDetailsElement" ]
|