momba_explore/model/types.rs
1//! Data structures for representing types.
2
3use serde::{Deserialize, Serialize};
4
5/// Possible data types of MombaIR values.
6#[derive(Serialize, Deserialize, Eq, PartialEq, Hash, Clone, Debug)]
7#[serde(rename_all = "SCREAMING_SNAKE_CASE", tag = "type")]
8pub enum Type {
9 /// A 64-bit signed integer.
10 Int64,
11 /// A double-precision IEEE 754 non-NaN float.
12 Float64,
13 /// A boolean.
14 Bool,
15 /// A vector/array of values.
16 Vector {
17 /// The type of the elements of the vector.
18 element_type: Box<Type>,
19 },
20 /// Indicates that the type is unknown.
21 Unknown,
22}