REPL (del inglés read-eval-print loop - ciclo "read-calculate-output") es una forma de organizar un entorno de programación interactivo simple dentro de las herramientas de la interfaz de línea de comandos . Muy a menudo, esta abreviatura caracteriza el entorno interactivo del lenguaje de programación Lisp , sin embargo, esta forma también es característica de los entornos interactivos de Erlang , Groovy , Haskell , Java , JavaScript , Perl , PHP , Python , Ruby , Scala , Smalltalk , Swift , Tcl y otros.
En dicho entorno, el usuario puede ingresar expresiones que el entorno evaluará inmediatamente y mostrará el resultado del cálculo al usuario. Los nombres de los elementos del bucle están asociados con las primitivas Lisp correspondientes:
Para implementar un entorno REPL para algún lenguaje, es suficiente implementar tres funciones: lectura, cálculo y salida, y combinarlas en un ciclo infinito. El entorno REPL es muy útil cuando se aprende un nuevo idioma, ya que proporciona al usuario una rápida retroalimentación.