REPL | это... Что такое REPL? (original) (raw)
REPL (Read-eval-print loop) — простая интерактивная среда программирования. Данный термин наиболее часто используется применительно к интерактивной среде языка программирования Lisp, однако может использоваться и применительно к интерактивным средам языков Smalltalk, Python, Ruby, Haskell, JavaScript и других языков.
В такой среде пользователь может вводить выражения, которые среда тут же будет вычислять, а результат вычисления отображать пользователю. Название read-eval-print loop происходит от имён примитивов языка Lisp, которые реализуют подобную функциональность:
Функция read читает одно выражение и преобразует его в соответствующую структуру данных в памяти.
Функция eval принимает одну такую структуру данных и вычисляет соответствующее ей выражение.
Функция print принимает результат вычисления выражения и печатает его пользователю.
Чтобы реализовать REPL-среду для некоторого языка, достаточно реализовать три перечисленные выше функции и объединить их в бесконечный цикл.
REPL-среда очень удобна при изучении нового языка, так как предоставляет пользователю быструю обратную связь.
Ссылки
- Описание реализации REPL в Common Lisp (Paul Graham).
- c-repl REPL для языка C
- [1] REPL для языка JavaScript