pub fn expression(
one_of first: List(
fn(Config(a, tok, ctx)) -> nibble.Parser(a, tok, ctx),
),
and_then then: List(Operator(a, tok, ctx)),
dropping spaces: nibble.Parser(Nil, tok, ctx),
) -> nibble.Parser(a, tok, ctx)
pub fn infix_left(
precedence: Int,
operator: nibble.Parser(Nil, tok, ctx),
apply: fn(a, a) -> a,
) -> Operator(a, tok, ctx)
pub fn infix_right(
precedence: Int,
operator: nibble.Parser(Nil, tok, ctx),
apply: fn(a, a) -> a,
) -> Operator(a, tok, ctx)
pub fn postfix(
precedence: Int,
operator: nibble.Parser(Nil, tok, ctx),
apply: fn(a) -> a,
) -> Operator(a, tok, ctx)
pub fn sub_expression(
config: Config(a, tok, ctx),
precedence: Int,
) -> nibble.Parser(a, tok, ctx)