An *(acronym) for the *(Lisp) programming language family's very general and famous meta-level architecture for extension. REPL stands for <em>read-eval-print loop</em>. This means it can be expressed in terms of the standard functions <tt>READ</tt>, <tt>EVAL</tt>, and <tt>PRINT</tt> composed together using an interactive listener to receive incoming expressions. This is applied to both user input, file input, and even communications over a distributed channel.

In all of these cases, the interface presented is termed a <em>listener</em>, and is generally presumed to be uniform except in specific cases of reflective modification or modifications for the _(terminal) (TTY usually).