Extractor for commands, splits the line into separate words.
The analysis object to use for processing.
Process an expression.
Process an expression.
Process a user input line by intercepting meta-level commands to update the evaluation mechanisms.
Process a user input line by intercepting meta-level commands to update the evaluation mechanisms. By default we just parse what they type into an expression.
(Changed in version 2.9.0) The p0 call-by-name arguments is evaluated at most once per constructed Parser object, instead of on every need that arises during parsing.
(Since version 2.10.0) lastNoSuccess was not thread-safe and will be removed in 2.11.0
(Since version 2.10.0) lastNoSuccess was not thread-safe and will be removed in 2.11.0
A simple typed lambda calculus read-eval-print-loop that offers choice from among multiple evaluation mechanisms. The lambda calculus supported and the strategies used are heavily based on "Building Interpreters with Rewriting Strategies", Eelco Dolstra and Eelco Visser, LDTA 2002 (published in Volume 65/3 of Electronic Notes in Theoretical Computer Science, Elsevier).