From 962cf10614b0b3af8e0dd9d05b2f5720b1197f8d Mon Sep 17 00:00:00 2001 From: Marcos Magueta Date: Wed, 9 Sep 2026 22:07:28 -0300 Subject: heading concept for tuple handling --- lib/concepts/Heading.mli | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 lib/concepts/Heading.mli (limited to 'lib/concepts/Heading.mli') diff --git a/lib/concepts/Heading.mli b/lib/concepts/Heading.mli new file mode 100644 index 0000000..98b8e60 --- /dev/null +++ b/lib/concepts/Heading.mli @@ -0,0 +1,24 @@ +type t + +val of_alist : (string * string) list -> t + +(** attributes in name order. *) +val attributes : t -> (string * string) BatFingerTree.t + +val names : t -> string BatSet.t +val arity : t -> int +val mem : string -> t -> bool + +module Error : sig + val unknown_attribute : string -> Condition.condition + val incompatible_domain : string -> Condition.condition +end + +val domain_of : string -> t -> (string, Condition.condition) result +val project : string BatFingerTree.t -> t -> (t, Condition.condition) result +val rename : (string * string) BatFingerTree.t -> t -> (t, Condition.condition) result +val shared : t -> t -> string BatSet.t +val joined : t -> t -> (t, Condition.condition) result +val compatible : t -> t -> bool + +module Representation : Encoding.Record.S with type t = t -- cgit v1.2.3