-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathCargo.toml
More file actions
114 lines (104 loc) · 4.17 KB
/
Copy pathCargo.toml
File metadata and controls
114 lines (104 loc) · 4.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
[workspace]
members = [".", "aver-lsp", "aver-rt", "aver-memory"]
exclude = ["tools/wasm-runner", "fuzz"]
[package]
name = "aver-lang"
version = "0.25.0"
edition = "2024"
default-run = "aver"
description = "VM and transpiler for Aver, a statically-typed language designed for AI-assisted development"
license = "MIT"
repository = "https://github.com/jasisz/aver"
homepage = "https://github.com/jasisz/aver"
documentation = "https://docs.rs/aver-lang"
readme = "README.md"
keywords = ["language", "interpreter", "transpiler", "programming-language"]
categories = ["compilers"]
include = [
"/src/**",
"!/src/bin/**",
"/build.rs",
"/README.md",
"/LICENSE",
]
[lib]
name = "aver"
crate-type = ["cdylib", "rlib"]
[[bin]]
name = "aver"
path = "src/main.rs"
required-features = ["runtime", "terminal", "tty-render"]
[[bin]]
name = "aver_self_host_cli"
path = "src/self_host/main.rs"
required-features = ["runtime"]
[features]
default = ["runtime", "runtime-net", "terminal", "tty-render"]
runtime = ["dep:aver-rt", "aver-memory/runtime", "aver-rt/random", "dep:clap", "dep:toml"]
runtime-net = ["runtime", "aver-rt/http"]
terminal = ["aver-rt/terminal"]
tty-render = ["dep:colored"]
wasm = ["wasm-compile", "dep:wasmtime"]
wasm-compile = ["dep:wasm-encoder", "dep:wasmprinter", "dep:wasmparser", "dep:wat"]
# 0.18 "Span" — `--target wasip2` (WASI 0.2 Component Model output).
# Direct WIT lowering: the wasm-gc backend emits a core module in
# canonical-ABI-compatible shapes, we embed a `component-type:<world>`
# custom section (encoded via `wit-component::metadata`) describing
# the WIT world, and `wit-component::ComponentEncoder` produces the
# component without a preview1 adapter. Aver effects map directly
# to WIT/WASI imports — there is no preview1 ABI to preserve. See
# docs/wasip2.md for the contract and feedback_aver_no_preview1_adapter
# for the architectural rationale.
wasip2 = ["wasm-compile", "dep:wit-component", "dep:wit-parser", "dep:wasmtime", "dep:wasmtime-wasi", "dep:wasmtime-wasi-http"]
playground = ["wasm-compile", "dep:wasm-bindgen", "runtime", "tty-render"]
[dependencies]
aver-memory = { path = "aver-memory", version = "=0.2.9" }
aver-rt = { path = "aver-rt", version = "=0.4.8", optional = true }
clap = { version = "4", features = ["derive"], optional = true }
colored = { version = "2", optional = true }
num-bigint = "0.4"
num-traits = "0.2"
thiserror = "1"
toml = { version = "0.8", optional = true }
url = "2"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
tempfile = "3"
wasm-bindgen = { version = "0.2", optional = true }
wasm-encoder = { version = "0.248", optional = true }
wasmparser = { version = "0.248", optional = true }
wasmprinter = { version = "0.248", optional = true }
wasmtime = { version = "44", optional = true, default-features = false, features = ["cranelift", "runtime", "gc", "gc-drc", "component-model", "component-model-async"] }
wasmtime-wasi = { version = "44", optional = true }
wasmtime-wasi-http = { version = "44", optional = true }
wat = { version = "1", optional = true }
# wasip2 feature deps — versions paired by upstream wasm-tools 1.248
# release train. `wasi-preview1-component-adapter-provider` is NOT
# a dep: Aver effects lower directly to WIT/WASI imports, no
# preview1 adapter wrap (see feedback_aver_no_preview1_adapter).
# `wit-encoder` is also NOT a dep — Phase 1.2a emits WIT via inline
# `format!` in `src/codegen/wasip2/wit.rs`. Add it back when
# per-effect imports beyond the standard WASI worlds force
# structured emission (Phase 1.6+ if at all).
wit-component = { version = "0.248", optional = true }
wit-parser = { version = "0.248", optional = true }
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
insta = "1"
# Iron (0.21) — property-based testing for type-checker matcher
# invariants + Type AST generation. Defaults to 256 cases per
# `proptest!` block; the CI gate bumps that to 10_000 via the
# `PROPTEST_CASES` env var, and developers can shrink locally for
# fast iteration.
proptest = "1"
tempfile = "3"
[[bench]]
name = "nan_value_bench"
harness = false
[[bench]]
name = "comparison_bench"
harness = false
required-features = ["wasm"]
[profile.release]
lto = true
codegen-units = 1