#[derive(Debug, PartialEq)]
pub struct Token<'src> {
pub literal: &'src str,
pub kind: TokenKind,
pub line: usize,
pub column: usize,
}
#[derive(Debug, PartialEq)]
pub enum TokenKind {
Ident,
Let,
In,
Module,
Import,
Exposing,
Type,
Case,
Of,
True,
False,
Number,
Int,
Float,
Char,
Str,
OpenParen,
CloseParen,
OpenBracket,
CloseBracket,
OpenBrace,
CloseBrace,
Assign,
Arrow,
Backslash,
Colon,
Comma,
Dot,
DoubleColon,
DoubleDot,
DoublePlus,
Pipe,
Pipeline,
And,
Equal,
Not,
Or,
Greater,
GreaterEq,
Less,
LessEq,
Plus,
Modulo,
Minus,
Multiply,
Power,
If,
Then,
Else,
SingleComment,
MultiComment,
Unknown,
}