programs/web-files.flan is built for both targets from the same text and neither build reads the target anywhere in parse.ml or check.ml. On the desktop it writes the file and says so; in the browser barf signals a FileError the program handles, naming the file and reason 4, file-unsupported. The whole of the difference is one #ifdef in flan_rt.c, which is where the host ABI is already implemented twice. The web case is run under node rather than inspected. An artifact-shape assertion would say nothing about what decision 2 actually bought — that a program on the web is told its write did not happen instead of quietly losing it — so the test asserts the refusal is printed and that the desktop's success line is absent. A silent no-op would have taken that branch, which is the outcome the decision rules out by name. The same program embeds a file and prints it, because that is the half needing no filesystem and no host ABI: the line is identical on both targets and is the answer for assets a web build has to carry.
Description
Languages
OCaml
67.2%
Emacs Lisp
15.2%
C
10.4%
HTML
2.9%
Standard ML
2.8%
Other
1.5%