You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: src/theory/paper/generalized-reversible-computation-paper-en.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -659,7 +659,7 @@ GRC is often misunderstood as adding unnecessary complexity. In reality, it does
659
659
660
660
A core advantage of GRC is its seamless and orthogonal fusion of declarative and imperative programming. In the structure of its core formula `Y = Generator<DSL> ⊕ Δ`, the DSL, as the textual representation of the model, **does not need to be Turing-complete**, which keeps it simple and highly structured. When a declarative model is insufficient to express all logic, the delta `Δ` allows for the introduction of an imperative "escape hatch," such as a script or a Turing-complete template call. This endows the system with the ability to handle arbitrary complexity while strictly constraining the complexity of imperative code within local, explicit delta units.
661
661
662
-
Furthermore, although GRC requires developers to embrace a new mental model, its engineering implementation (such as the XDef metamodel in the Nop Platform) greatly reduces the cost of this transition. Once an architect defines a new business DSL using XDef, the platform **immediately and automatically** endows this new language with the full suite of GRC capabilities, including a unified delta mechanism and toolchain support. This "instant ROI" is the best compensation for the learning curve.
662
+
Furthermore, although GRC requires developers to embrace a new mental model, its engineering implementation (such as the XDef metamodel in the Nop Platform) greatly reduces the cost of this transition. Once an architect defines a new business DSL using XDef, the platform immediately and automatically endows this new language with the full suite of GRC capabilities, including a unified delta mechanism and toolchain support. This "instant ROI" is the best compensation for the learning curve.
@@ -1079,18 +1079,22 @@ \section{An Argument for the Associativity of the Merge Operator $\oplus$}
1079
1079
\subsection{The Domain Model Coordinate System}
1080
1080
GRC treats any structured software artifact as a \textbf{domain model} and establishes a \textbf{domain coordinate system} for it. Every value in the model can be located by a unique \textbf{Path}. For example, for the XML:
All GRC operations are essentially operations on the values at specific coordinate points.
1097
+
The path here (a simplified form of XPath) is the domain coordinate, as it is composed of domain concepts with business meaning like `entity`, `column`, and `name`. All GRC operations are essentially operations on the values at specific coordinate points in this system.
1094
1098
1095
1099
\subsection{The Argument for Associativity}
1096
1100
If we view a model as a high-dimensional vector where each dimension corresponds to a unique domain coordinate, then the merge of two models $M_1\oplus M_2$ can be seen as a dimension-wise merge of two vectors. To \textbf{argue} that the merge of vectors satisfies associativity, we only need to \textbf{show} that the value merge operation at a single coordinate point satisfies associativity.
XDSL defines a deterministic, multi-stage delta merging pipeline. All these construction operations are completed during the model loading phase and are completely transparent to the runtime, implementing the core "phase separation" idea of GRC.
1172
1175
1176
+
XDSL defines a deterministic, multi-stage delta merging pipeline, with priority decreasing from left to right:
1177
+
1178
+
\begin{center}
1179
+
$\Delta$\textit{from post-extends} $\oplus$$\Delta$\textit{defined in current model} $\oplus$$\Delta$\textit{from gen-extends} $\oplus$\textit{Base model from x:extends}
1180
+
\end{center}
1181
+
1182
+
All these construction operations are completed during the model loading phase and are completely transparent to the runtime, implementing the core "phase separation" idea of GRC.
0 commit comments