Skip to main content

Crate caternary

Crate caternary 

Source
Expand description

Caternary: a concatenative language that enables pattern-based optimization.

Structs§

Evaluator
A stack-based evaluator for caternary programs.
Optimizer
An optimizer that applies a set of rules repeatedly.
Rule
A rewrite rule: pattern => replacement.
Span
A span in source text, measured in byte offsets.
SpannedToken
A token paired with the source span that produced it.

Enums§

ParseError
An error that can occur during parsing.
RuleError
An error from rule parsing.
SpannedTokenKind
Variant payload for SpannedToken.
Token
A token in the caternary language.

Constants§

CODE_OPERATOR_ERROR
Error code for operator failures.

Traits§

Quotable
A trait for stack element types that can contain quotations.

Functions§

parse
Parses a caternary program from source text.
parse_with_spans
Parses a caternary program and returns tokens with source spans.
register_all_builtins
Register all builtins and combinators on an evaluator.
register_combinators
Register quotation combinators on an evaluator.
register_conditionals
Register conditional combinators on an evaluator.
register_sequence_combinators
Register sequence combinators on an evaluator.
register_stack_builtins
Register standard stack combinators/manipulators on an evaluator.

Type Aliases§

EvalError
Evaluation error type.
Operator
An operator function that manipulates the stack.