1use std::fmt::{Display, Error, Formatter};
2
3#[derive(Debug, PartialEq, Eq, Copy, Clone, Ord, PartialOrd, Hash)]
5pub enum VarRec {
6 Variant,
7 Record,
8}
9
10impl Display for VarRec {
11 fn fmt(&self, f: &mut Formatter) -> Result<(), Error> {
12 f.write_str(match self {
13 VarRec::Variant => "Sum",
14 VarRec::Record => "Rec",
15 })
16 }
17}
18
19#[derive(Debug, PartialEq, Eq, Copy, Clone, Ord, PartialOrd, Hash)]
21pub enum PiSig {
22 Pi,
23 Sigma,
24}
25
26impl Display for PiSig {
27 fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error> {
28 f.write_str(match self {
29 PiSig::Pi => "\u{03A0}",
30 PiSig::Sigma => "\u{03A3}",
31 })
32 }
33}
34
35#[derive(Debug, PartialEq, Eq, Copy, Clone, Ord, PartialOrd, Hash)]
37pub enum Plicit {
38 Ex,
39 Im,
40}