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