REPL: различия между версиями
[непроверенная версия] | [непроверенная версия] |
Raupt (обсуждение | вклад) мНет описания правки |
Спасено источников — 3, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.8.6 |
||
Строка 9: | Строка 9: | ||
== Ссылки == |
== Ссылки == |
||
* [http://www.paulgraham.com/rootsoflisp.html Описание реализации REPL] в Common Lisp (Paul Graham). |
* [http://www.paulgraham.com/rootsoflisp.html Описание реализации REPL] {{Wayback|url=http://www.paulgraham.com/rootsoflisp.html |date=20210130184134 }} в Common Lisp (Paul Graham). |
||
* [http://neugierig.org/software/c-repl/ c-repl] REPL для языка C |
* [http://neugierig.org/software/c-repl/ c-repl] {{Wayback|url=http://neugierig.org/software/c-repl/ |date=20090211085632 }} REPL для языка C |
||
* [http://nodejs.org/ruwiki/api/repl.html REPL для языка JavaScript] на сайте nodejs.org |
* [http://nodejs.org/ruwiki/api/repl.html REPL для языка JavaScript] {{Wayback|url=http://nodejs.org/ruwiki/api/repl.html |date=20130117162132 }} на сайте nodejs.org |
||
[[Категория:Языки программирования по алфавиту]] |
[[Категория:Языки программирования по алфавиту]] |
Версия от 23:50, 15 марта 2022
REPL (от англ. read-eval-print loop — «цикл „чтение — вычисление — вывод») — форма организации простой интерактивной среды программирования в рамках средств интерфейса командной строки. Чаще всего этой аббревиатурой характеризуется интерактивная среда языка программирования Лисп, однако такая форма характерна и для интерактивных сред языков Erlang, Groovy, Haskell, Java, JavaScript, Perl, PHP, Python, Ruby, Scala, Smalltalk, Swift, Tcl и других.
В такой среде пользователь может вводить выражения, которые среда тут же будет вычислять, а результат вычисления отображать пользователю. Названия элементов цикла связаны с соответствующими примитивами Лиспа:
- функция
read
читает одно выражение и преобразует его в соответствующую структуру данных в памяти; - функция
eval
принимает одну такую структуру данных и вычисляет соответствующее ей выражение; - функция
print
принимает результат вычисления выражения и печатает его пользователю.
Чтобы реализовать REPL-среду для некоторого языка, достаточно реализовать три функции: чтения, вычисления и вывода, и объединить их в бесконечный цикл. REPL-среда очень удобна при изучении нового языка, так как предоставляет пользователю быструю обратную связь.
Ссылки
- Описание реализации REPL Архивная копия от 30 января 2021 на Wayback Machine в Common Lisp (Paul Graham).
- c-repl Архивная копия от 11 февраля 2009 на Wayback Machine REPL для языка C
- REPL для языка JavaScript Архивная копия от 17 января 2013 на Wayback Machine на сайте nodejs.org