pub enum HaskellPattern {
Wildcard,
Var(String),
Lit(HaskellLit),
Tuple(Vec<HaskellPattern>),
List(Vec<HaskellPattern>),
Cons(Box<HaskellPattern>, Box<HaskellPattern>),
Constructor(String, Vec<HaskellPattern>),
As(String, Box<HaskellPattern>),
LazyPat(Box<HaskellPattern>),
}Expand description
Haskell pattern AST used in case and function equations.
Variants§
Wildcard
_ — wildcard
Var(String)
Variable binding: x
Lit(HaskellLit)
Literal pattern: 42, 'a', True
Tuple(Vec<HaskellPattern>)
Tuple pattern: (a, b, c)
List(Vec<HaskellPattern>)
List pattern: [a, b, c]
Cons(Box<HaskellPattern>, Box<HaskellPattern>)
Cons pattern: x : xs
Constructor(String, Vec<HaskellPattern>)
Constructor pattern: Just x, Left a
As(String, Box<HaskellPattern>)
As pattern: xs@(x:rest)
LazyPat(Box<HaskellPattern>)
Lazy (irrefutable) pattern: ~pat
Trait Implementations§
Source§impl Clone for HaskellPattern
impl Clone for HaskellPattern
Source§fn clone(&self) -> HaskellPattern
fn clone(&self) -> HaskellPattern
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for HaskellPattern
impl Debug for HaskellPattern
Source§impl Display for HaskellPattern
impl Display for HaskellPattern
Source§impl PartialEq for HaskellPattern
impl PartialEq for HaskellPattern
impl StructuralPartialEq for HaskellPattern
Auto Trait Implementations§
impl Freeze for HaskellPattern
impl RefUnwindSafe for HaskellPattern
impl Send for HaskellPattern
impl Sync for HaskellPattern
impl Unpin for HaskellPattern
impl UnsafeUnpin for HaskellPattern
impl UnwindSafe for HaskellPattern
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more