diff --git a/Examples/05_bounded_ui_accumulator/Execution pipeline.md b/Examples/05_bounded_ui_accumulator/Execution pipeline.md new file mode 100644 index 0000000..92b69c3 --- /dev/null +++ b/Examples/05_bounded_ui_accumulator/Execution pipeline.md @@ -0,0 +1,109 @@ +

+ FROG logo +

+ +

Example 05 Execution Pipeline

+ +

+ Concrete source, FIR, lowering, runtime, widget, and LLVM-oriented proof corridor for Example 05
+ FROG — Free Open Graphical Language +

+ +
+ +

Purpose

+ +

+This page explains how Examples/05_bounded_ui_accumulator runs through the current public reference corridor. +It is a concrete companion to Example 05 — Bounded UI Accumulator. +

+ +

+The page is descriptive and non-normative. It does not make LLVM part of FROG semantics, does not define a production runtime, and does not turn one hosted UI into the FROG language runtime identity. +

+ +
+ +

Artifact Flow

+ +
Examples/05_bounded_ui_accumulator/main.frog
+  -> loadability
+  -> structural validation
+  -> semantic validation
+  -> Examples/05_bounded_ui_accumulator/main.fir.json
+  -> Examples/05_bounded_ui_accumulator/main.lowering.json
+  -> Implementations/Reference/ContractEmitter/examples/05_bounded_ui_accumulator.reference_host_runtime_ui_binding.contract.json
+  -> Implementations/Reference/Runtime/acceptance/example05_runtime_family.acceptance.json
+  -> Implementations/Reference/LLVM/examples/05_bounded_ui_accumulator/module.ll
+  -> Implementations/Reference/LLVM/examples/05_bounded_ui_accumulator/kernel.ll
+  -> Implementations/Reference/LLVM/examples/05_bounded_ui_accumulator/native_kernel_manifest.json
+  -> runtime bridge and hosted front-panel snapshot
+ +
+ +

Two Branches Joined by the Runtime

+ +

Diagram and computation branch

+ +
main.frog diagram
+  -> validated program meaning
+  -> FIR / Execution IR
+  -> lowering
+  -> backend contract
+  -> LLVM-oriented module / native proof where applicable
+  -> runtime call boundary
+ +

+The diagram branch owns the executable dataflow path. In this example, the bounded accumulator computes the result from the public input and explicit stateful iteration shape. +

+ +

Front-panel and widget branch

+ +
main.frog front_panel
+  -> ui/accumulator_panel.wfrog
+  -> Libraries/Realizations/Default/assets/numeric/templates/numeric_rectangular.svg
+  -> hosted numeric control and indicator realization
+  -> runtime widget bindings
+ +

+The front-panel branch owns the visible widget layout and realization-facing path. The .wfrog package and SVG asset support realization; they do not replace .frog as the program source and do not define hidden language semantics. +

+ +
+ +

Runtime Role

+ +

+The runtime is the orchestration consumer at the point where the two branches meet. +For this example, the runtime-family corridor may: +

+ + + +

+In a hosted Run/Execute loop, the host samples the input-side widget value, the runtime executes the bounded dataflow unit, and the result is projected back into the output-side widget and published snapshot. +

+ +
+ +

Boundary

+ + diff --git a/Expression/Widget package hosting.md b/Expression/Widget package hosting.md new file mode 100644 index 0000000..96f0271 --- /dev/null +++ b/Expression/Widget package hosting.md @@ -0,0 +1,71 @@ +

+ FROG logo +

+ +

Widget Package Hosting Role

+ +

+ How .wfrog packages participate in hosted front-panel realization
+ FROG — Free Open Graphical Language +

+ +
+ +

Purpose

+ +

+This companion note clarifies how widget packages participate when a FROG front panel is hosted by a runtime or UI host. +It complements FROG Widget Package (.wfrog). +

+ +
+ +

Boundary

+ + + +

+A .frog source may identify widget classes, widget package identities, or realization choices. A host may then resolve compatible .wfrog packages and related assets when a front panel needs to be rendered or interacted with. +

+ +
+ +

Hosting Flow

+ +
.frog front_panel
+  -> widget instances, layout, initial values, and diagram/widget bindings
+  -> referenced widget classes or package identities
+  -> compatible .wfrog package
+  -> SVG/assets or other realization resources
+  -> host UI
+  -> runtime widget bindings
+ +

+The host/runtime consumption role may include package resolution, asset loading, part mapping, value binding, property binding, event routing, capability checks, and diagnostic reporting. +

+ +
+ +

Non-Ownership Rules

+ + + +
+ +

Practical Reading

+ +

+In a hosted example, the front-panel branch and execution branch meet through runtime bindings. +The .wfrog package helps the host realize visible widgets, while FIR, lowering, backend contracts, manifests, and runtime-family artifacts carry the execution-facing path. +

diff --git a/IR/Hybrid UI compiler execution.md b/IR/Hybrid UI compiler execution.md new file mode 100644 index 0000000..2654d7b --- /dev/null +++ b/IR/Hybrid UI compiler execution.md @@ -0,0 +1,166 @@ +

+ FROG logo +

+ +

FIR in Hybrid UI and Compiler Execution

+ +

+ Clarifying the role of FIR when front-panel widgets, runtime orchestration, and compiler-family artifacts meet
+ FROG — Free Open Graphical Language +

+ +
+ +

Purpose

+ +

+This companion note clarifies how FIR participates in a practical FROG execution corridor that includes a front panel, widget bindings, runtime orchestration, and optional compiler-family artifacts such as LLVM-oriented native proof material. +

+ +

+It complements IR/Readme.md, IR/Lowering.md, and IR/Backend contract.md without replacing their ownership. +

+ +
+ +

Core Rule

+ +

+FIR is the open execution-facing representation derived from validated program meaning. It is not authored directly, and it is not a runtime-private graph, compiler-private graph, LLVM IR file, widget package, visual asset, or host UI object table. +

+ +
canonical .frog source
+  -> loadability
+  -> structural validation
+  -> semantic validation
+  -> validated program meaning
+  -> FIR / Execution IR
+  -> lowering
+  -> backend contract
+  -> runtime-family and/or compiler-family consumption
+ +
+ +

What FIR May Preserve

+ +

+In hybrid UI/compiler execution, FIR may preserve execution-relevant consequences of validated widget and interface meaning, including: +

+ + + +

+This preservation exists so later lowering, backend contracts, runtime binding, diagnostics, probes, watches, and source-aligned observability can remain traceable. +

+ +
+ +

What FIR Must Not Absorb

+ +

+FIR must not absorb or redefine ownership of: +

+ + + +
+ +

Hybrid Execution Reading

+ +

+A practical hosted execution may contain two branches: +

+ +
diagram/computation branch:
+.frog diagram
+  -> semantic validation
+  -> FIR
+  -> lowering
+  -> backend contract
+  -> LLVM-oriented artifact or other backend-family artifact where applicable
+
+front-panel/widget branch:
+.frog front_panel
+  -> widget instances and bindings
+  -> .wfrog packages or realization packages
+  -> SVG/assets or other realization resources
+  -> host UI
+ +

+FIR sits on the execution-facing branch after validated meaning. It may carry enough widget-related identity and mapping to allow the runtime to bind values and object-style accesses, but it does not own the front-panel realization itself. +

+ +
+ +

Runtime and Compiler Boundary

+ +

+A runtime may consume FIR-derived contracts, manifests, and artifacts. A compiler-family path such as LLVM may consume lowered material to produce a native proof or loadable artifact. Neither the runtime nor LLVM becomes the language owner. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
LayerCorrect role
FIROpen execution-facing representation derived from validated meaning.
LoweringSpecialization toward target, backend, runtime, provider, or deployment concerns.
Backend contractExplicit handoff to downstream consumers.
LLVMOne possible compiler-family consumer and native proof path.
RuntimeExecution and orchestration consumer of explicit contracts and artifacts.
Host UIRendering and interaction surface, replaceable by host family.
+ +
+ +

Boundary Summary

+ + diff --git a/Implementations/Reference/pipeline.md b/Implementations/Reference/pipeline.md index 3763c06..497ff57 100644 --- a/Implementations/Reference/pipeline.md +++ b/Implementations/Reference/pipeline.md @@ -38,6 +38,80 @@ runtime-family tests and native-kernel bridge checks documented under
+

How the Current Reference Corridor Runs

+ +

+This section describes the current reference corridor as a non-normative +implementation-facing shape. It explains how the published artifacts are wired +together for the bounded public reference runtime closure. It does not define +the FROG language, widget law, runtime law, LLVM law, or future production +implementation strategy. +

+ +
main.frog
+  -> loadability
+  -> structural validation
+  -> semantic validation
+  -> main.fir.json
+  -> main.lowering.json
+  -> backend contract
+  -> runtime acceptance
+  -> LLVM-oriented module / native proof where applicable
+  -> runtime orchestration
+  -> host UI / front-panel update where applicable
+ +

+The current UI and native-proof corridor has two visible branches that meet at +the runtime boundary. +

+ +

+The diagram and computation branch is: +

+ +
.frog diagram
+  -> loadability / structural validation
+  -> semantic validation
+  -> FIR / Execution IR
+  -> lowering
+  -> backend contract
+  -> LLVM-oriented module or native loadable artifact where applicable
+  -> runtime call/load boundary
+ +

+The front-panel and widget branch is: +

+ +
.frog front_panel
+  -> widget instances and diagram/widget bindings
+  -> .wfrog packages or realization packages
+  -> SVG/assets and realization resources
+  -> host UI
+ +

+The runtime joins those branches by consuming explicit published artifacts +rather than by becoming the owner of language semantics. In the current +reference corridor, runtime-family consumers may: +

+ + + +

+LLVM remains one compiler-family proof path in this repository. It may consume +lowered material to produce an LLVM-oriented module or native proof artifact, +but it does not replace FIR, does not define FROG semantics, and does not make +the runtime LLVM-specific. +

+ +
+

Command

python Implementations/Reference/Pipeline/check_examples01_10_full.py
diff --git a/Readme.md b/Readme.md index 67d0c41..2f34570 100644 --- a/Readme.md +++ b/Readme.md @@ -41,6 +41,7 @@ Start herePositioningExecution architecture • + Execution pipelinePublic boundaryRepository mapPublished state • @@ -137,6 +138,106 @@ It is preserved with the detailed explanation in
+

End-to-end execution pipeline

+ +

+A FROG program starts from canonical .frog source. The +.frog file owns the program-level source: metadata, public +interface, executable diagram, optional front panel, widget instances, and +diagram/widget bindings. +

+ +

+When a front panel is present, canonical source may reference widget classes, +widget packages, or realization choices. .wfrog packages publish +widget-oriented package content such as reusable widget law, compositions, +realization metadata, bounded behavior surfaces, host-binding metadata, and +visual resources. SVG assets may participate as visual realization resources. +None of those artifacts replaces .frog as the canonical program +source, and none of them becomes hidden language semantics. +

+ +
.frog source
+  -> loadability
+  -> structural validation
+  -> semantic validation
+  -> validated program meaning
+  -> FIR / Execution IR
+  -> lowering
+  -> backend contract
+  -> runtime-family and/or compiler-family consumption
+ +

+For compiler-family paths such as LLVM, the lowered form may be consumed to +produce an LLVM-oriented module, native proof, or native loadable artifact. +LLVM remains a downstream compiler-family consumer; it does not define FROG +semantics and does not replace the runtime boundary. +

+ +

+For runtime-family paths, the runtime consumes explicit contracts and published +artifacts. It may instantiate a front panel through a host-specific UI layer, +bind widget values or widget references to execution-facing units, load or call +compiled artifacts when applicable, execute the dataflow unit, and project +results, diagnostics, and observability back to source-meaningful objects. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Artifact or layerPipeline role
.frogCanonical program source.
.wfrogWidget/package publication or realization metadata.
SVG/assetsVisual realization resources.
FIR / Execution IROpen execution-facing representation derived from validated meaning.
LoweringTarget, backend, runtime, or deployment specialization.
Backend contractExplicit downstream handoff.
LLVMOne possible compiler-family consumer and native proof path.
RuntimeExecution and orchestration consumer of explicit contracts and artifacts.
Host UIRendering and interaction surface; replaceable across host families.
+ +

+The practical reference-corridor details are documented in +Reference Pipeline. +A concrete UI/runtime/LLVM-oriented example is documented in +Example 05 — Bounded UI Accumulator. +

+ +
+

Public Specification and Implementation Boundary

@@ -254,6 +355,7 @@ published-state and maturity notes that used to live here.

  • Start with this root README.
  • Read FROG Strategy and Positioning for why the language exists.
  • Read FROG Architecture for source, FIR, lowering, runtime/compiler, and observability posture.
  • +
  • Read End-to-end execution pipeline for the short path from source to runtime/compiler consumers.
  • Read FROG Repository Guide for the detailed repository map.
  • Use Examples and Conformance for concrete validation material.
  • Use FROG Project Status for the current published state.