diff options
| author | Marcos Magueta <maguetamarcos@gmail.com> | 2026-03-14 11:39:04 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-14 11:39:04 -0300 |
| commit | e6661bfa6a3d7dc477d0b7717c80bd536eca2d68 (patch) | |
| tree | 12510963feeed03221defa690e73edd4135b65e1 /lib/dcl/ast.ml | |
| parent | 0ad04e638baa8f283150d3c2809cdb9bf21e2995 (diff) | |
| download | Sakura-e6661bfa6a3d7dc477d0b7717c80bd536eca2d68.tar.gz Sakura-e6661bfa6a3d7dc477d0b7717c80bd536eca2d68.zip | |
Branching and naïve merge strategies
* AGPL license
* branching and merging
* Delete LICENSE in favor of separate PR
Signed-off-by: Marcos Magueta <maguetamarcos@gmail.com>
* add unmonitored tests and docs
---------
Signed-off-by: Marcos Magueta <maguetamarcos@gmail.com>
Diffstat (limited to 'lib/dcl/ast.ml')
| -rw-r--r-- | lib/dcl/ast.ml | 24 |
1 files changed, 7 insertions, 17 deletions
diff --git a/lib/dcl/ast.ml b/lib/dcl/ast.ml index 95e0271..e1dae13 100644 --- a/lib/dcl/ast.ml +++ b/lib/dcl/ast.ml @@ -1,23 +1,13 @@ open Sexplib.Std -type binding_expr = - | Var of string - | Const of Drl.Ast.value (** reuse DRL value for literals *) -[@@deriving sexp] - -type constraint_body = - | MemberOf of { target: string; binding: (string * binding_expr) list } - | Not of { body: constraint_body; universe: string } - | And of constraint_body list - | Or of constraint_body list - | Exists of { variable: string; quantifier: string; body: constraint_body } - | Forall of { variable: string; quantifier: string; body: constraint_body } +type merge_strategy = PreferLeft | PreferRight | RevertToAncestor [@@deriving sexp] type statement = - | RegisterConstraint of { - constraint_name: string; - relation_name: string; - body: constraint_body; - } + | CreateBranch of { name: string; hash: string option [@sexp.option] } + | Checkout of string + | GetHead + | GetBranchTip of string + | UpdateBranchTip of { name: string; hash: string } + | Merge of { left: string; right: string; strategy: merge_strategy } [@@deriving sexp] |
