aboutsummaryrefslogtreecommitdiff
path: root/lib/checks/get_type.mli
diff options
context:
space:
mode:
Diffstat (limited to 'lib/checks/get_type.mli')
-rw-r--r--lib/checks/get_type.mli25
1 files changed, 25 insertions, 0 deletions
diff --git a/lib/checks/get_type.mli b/lib/checks/get_type.mli
new file mode 100644
index 0000000..476059b
--- /dev/null
+++ b/lib/checks/get_type.mli
@@ -0,0 +1,25 @@
+type type_of =
+ | Integer (** A numeric value *)
+ | Bool (** A boolean, not a real type *)
+ | String (** String value *)
+ | NumericString (** String containing a numeric value *)
+[@@deriving show, eq]
+
+module Expression : sig
+ type t = Variable of type_of | Raw of type_of [@@deriving show, eq]
+ type t' = t
+
+ include Qsp_syntax.S.Expression with type t := t and type t' := t'
+
+ val ident :
+ ctx:Qsp_syntax.S.extract_context ->
+ (Qsp_syntax.S.pos, 'any) Qsp_syntax.S.variable ->
+ t
+
+ val get_type : t -> type_of
+end
+
+val expression_id : Expression.t Type.Id.t
+(** Type identifier for the expression in this module *)
+
+val ex : Qsp_syntax.Identifier.t