tricu

An interpreted language for exploring Tree Calculus
Log | Files | Refs | README | LICENSE

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)