> require("repl") #<Atomy::Module 'repl.ay'>
basic-repl(bnd = TOPLEVEL_BINDING) => _ | bnd is-a(Binding)?
The basics of a REPL - reading, evaluating, and printing in a loop. More flexibility is provided by various signals. See
repl for a fancier REPL, which builds upon this, and
When showing the prompt,
.prompt is signaled with a
.use-prompt restart available. Invoke this restart and pass along a string to override the prompt, which defaults to
Input preceded by a colon (
:) and followed by an alphanumeric character is assumed to be a special command. These are not evaluated, and are signaled as
When the user sends
EOF (Ctrl+D) or an interrupt (Ctrl+C),
.quit is signaled.
When the user enters code,
.input(text) is signaled. The code is evaluated with two restarts registered:
.retry for re-attempting evaluation, and
.abort, for canceling the evaluation. After the code is evaluated,
.evaluated(result) is signaled.
.loop is signaled before the loop starts over again (i.e., after the input is handled).
An interactive debugger REPL for handling errors. This will list the results along with a number, allow the user to continue evaluating code, and once they enter a special command in the form of
:number, the specified restart will be invoked.
repl(history = nil, bnd = TOPLEVEL_BINDING) => _ | history is-a(String)? | bnd is-a(Binding)?
A more feature-filled REPL, providing persistent history and setting
History will be managed and appended to a file specified by
history upon termination.