-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathrefs.json
More file actions
75 lines (75 loc) · 3.27 KB
/
Copy pathrefs.json
File metadata and controls
75 lines (75 loc) · 3.27 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
{
"_comment": [
"Reference sources, cloned on demand into .ref/ (gitignored) by `bb ref`.",
"Committed as a list rather than assumed to exist on anyone's disk: a fresh",
"clone on any machine can reach the same material with one command.",
"Shallow by default — we read these, we never build them.",
"`large: true` means `bb ref` skips it unless you name it: these are whole",
"language SDKs and we want one subdirectory of each, not a fast `bb ref`."
],
"refs": {
"clojure": {
"url": "https://github.com/clojure/clojure",
"why": "the semantics we must match; clojure.lang is the dispatch reference"
},
"clojurescript": {
"url": "https://github.com/clojure/clojurescript",
"why": "the analyzer we plan to reuse, and a second dispatch strategy for the same semantics"
},
"ClojureWasm": {
"url": "https://github.com/clojurewasm/ClojureWasm",
"why": "sibling; read its doc/decisions and debt ledger for what went wrong"
},
"zwasm": {
"url": "https://github.com/clojurewasm/zwasm",
"why": "sibling; a Wasm engine written from scratch, including its JIT notes"
},
"clj.wasm": {
"url": "https://github.com/kanaka/clj.wasm",
"why": "earlier exploration of this exact question"
},
"tools.analyzer": {
"url": "https://github.com/clojure/tools.analyzer",
"why": "the retargetable analyzer; 0022 E defers the front-end choice to reading this, not recalling it"
},
"tools.analyzer.jvm": {
"url": "https://github.com/clojure/tools.analyzer.jvm",
"why": "what a complete tools.analyzer host layer actually costs, measured by example"
},
"teavm": {
"url": "https://github.com/konsoletyper/teavm",
"why": "a production JVM-hosted Java-to-WasmGC compiler; the third prior art for the emitter and object model"
},
"wasmtime": {
"url": "https://github.com/bytecodealliance/wasmtime",
"large": true,
"why": "the C API cljwit.host binds to (crates/c-api), and the reference Component Model implementation"
},
"component-model": {
"url": "https://github.com/WebAssembly/component-model",
"why": "the Canonical ABI we must emit by hand (S4); issue #525 is GC-in-ABI, still a pre-proposal"
},
"wit-bindgen": {
"url": "https://github.com/bytecodealliance/wit-bindgen",
"why": "how every other language binds WIT — no Clojure backend, so this is the shape to match, not to use"
},
"dart-sdk": {
"url": "https://github.com/dart-lang/sdk",
"large": true,
"why": "dart2wasm: the closest prior art for lowering a GC'd object model onto WasmGC (pkg/dart2wasm)"
},
"kotlin": {
"url": "https://github.com/JetBrains/kotlin",
"large": true,
"why": "Kotlin/Wasm: the second WasmGC backend built from scratch rather than via LLVM"
},
"sample-wasi-http-kotlin": {
"url": "https://github.com/Kotlin/sample-wasi-http-kotlin",
"why": "the closest prior art to S4: a WasmGC module through embed/new to wasmtime (0030 cites its Makefile)"
},
"kotlin-wit-bindgen": {
"url": "https://github.com/Kotlin/wit-bindgen",
"why": "Kotlin's wit-bindgen fork: how a GC'd language lowers strings to linear memory (0030 cites kotlin/src/lib.rs)"
}
}
}