copy-bytes.tri (707B)
1 !import prelude * 2 !import consumers_unit_compile as U 3 !import consumers_effect_packages as Packages 4 !export * 5 -- Library-owned package construction for copy-bytes.scp. Callers bind this 6 -- package under their chosen helper name; its entry and receivers stay local. 7 -- Authoring compiles and prepares descriptors; invocation uses prepared steps. 8 9 receivers = ["entry" "resume" "written"] 10 compiledPackages rows = (bindResult 11 (Packages.referencePackage rows "entry" receivers t) (reference _ : 12 bindResult (Packages.preparedPackage rows "entry" receivers t) 13 (lexical _ : ok (pair reference lexical) t))) 14 compileSource source = bindResult (U.compileScpUnit source t) (rows _ : compiledPackages rows)