From e6661bfa6a3d7dc477d0b7717c80bd536eca2d68 Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Sat, 14 Mar 2026 11:39:04 -0300 Subject: =?UTF-8?q?Branching=20and=20na=C3=AFve=20merge=20strategies?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * AGPL license * branching and merging * Delete LICENSE in favor of separate PR Signed-off-by: Marcos Magueta * add unmonitored tests and docs --------- Signed-off-by: Marcos Magueta --- lib/dcl/ast.ml | 24 +++++++----------------- 1 file changed, 7 insertions(+), 17 deletions(-) (limited to 'lib/dcl/ast.ml') 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] -- cgit v1.2.3