REPL: различия между версиями
[непроверенная версия] | [непроверенная версия] |
РобоСтася (обсуждение | вклад) более не распознаётся как изолированная статья, Replaced: {{изолированная статья}} → с помощью AWB |
D'ohBot (обсуждение | вклад) м робот добавил: pl:REPL; косметические изменения |
||
Строка 11: | Строка 11: | ||
REPL-среда очень удобна при изучении нового языка, так как предоставляет пользователю быструю обратную связь. |
REPL-среда очень удобна при изучении нового языка, так как предоставляет пользователю быструю обратную связь. |
||
==External links== |
== External links == |
||
* [http://www.paulgraham.com/rootsoflisp.html Описание реализации REPL] в Common Lisp (Paul Graham). |
* [http://www.paulgraham.com/rootsoflisp.html Описание реализации REPL] в Common Lisp (Paul Graham). |
||
Строка 19: | Строка 19: | ||
[[en:Read-eval-print loop]] |
[[en:Read-eval-print loop]] |
||
[[pl:REPL]] |
Версия от 23:15, 27 июня 2009
REPL (Read-eval-print loop) — простая интерактивная среда программирования. Данный термин наиболее часто используется применительно к интерактивной среде языка программирования Lisp, однако может использоваться и применительно к интерактивным средам языков Smalltalk, Python, Ruby, Haskell и других языков.
В такой среде пользователь может вводить выражения, которые среда тут же будет вычислять, а результат вычисления отображать пользователю. Название read-eval-print loop происходит от имён примитивов языка Lisp, которые реализуют подобную функциональность:
- Функция read читает одно выражение и преобразует его в соответствующую структуру данных в памяти.
- Функция eval принимает одну такую структуру данных и вычисляет соответствующее ей выражение.
- Функция print принимает результат вычисления выражения и печатает его пользователю.
Чтобы реализовать REPL-среду для некоторого языка, достаточно реализовать три перечисленные выше функции и объединить их в бесконечный цикл.
REPL-среда очень удобна при изучении нового языка, так как предоставляет пользователю быструю обратную связь.
External links
- Описание реализации REPL в Common Lisp (Paul Graham).
- c-repl REPL для языка C