Compositional semantic implementations #
A module implements one interface using operations of another. Linking uses the upstream free-monad interpreter. Behavior proofs neither choose a computational model nor assign costs. Realization composes representation relations and hides intermediate states existentially. Linking uses the upstream interpreter's common universe for operation answers and client results. Native execution itself permits an independent universe for client results.
Main definitions #
Methods: operation bodies over a lower interface.Module: admissibility and representation simulation for those bodies.link: substitute lower method bodies into an adaptive client.
Main results #
Module.realize: implement a module with any realization of its lower interface.link_exec,link_exec_decompose: exact correspondence of chunked and flattened executions.
Interface methods are programs over another interface.
Instances For
Purely semantic module correctness; neither an execution model nor a cost appears.
- methods : Methods D E
Bodies implementing the upper interface using lower-interface calls.
The relation between upper and lower mathematical states.
Instances For
Module realization hides the intermediate representation and composes at any backend.
Instances For
Linking expands every module call and preserves the complete flattened backend trace.
Every flattened execution also decomposes into executions of its individual method calls.