REPL

위키백과, 우리 모두의 백과사전.

REPL(read-eval-print loop) 또는 인터랙티브 톱레벨(interactive toplevel), 랭기지 셸(language shell)은 단일 사용자의 입력(예: 단일 )을 취하고 이를 평가(실행)하고 결과를 사용자에게 반환시키는 단순한 상호작용 컴퓨터 프로그래밍 환경이다. REPL 환경으로 작성된 프로그램은 구간마다 실행된다. 이 용어는 보통 클래식 리스프 머신 상호작용 환경과 유사한 프로그래밍 인터페이스를 의미하기도 한다. 일반적인 예로는 프로그래밍 언어를 위한 명령 줄 및 유사 환경을 들 수 있으며 기법은 스크립트 언어의 특징과 매우 닮아있다.[1]

개요[편집]

REPL에서 사용자는 (전체 컴파일 단위가 아닌) 하나 이상의 식을 입력하면 REPL은 이들을 평가하고 결과를 표시한다.

용도[편집]

로서 REPL 환경을 통해 사용자가 운영 체제의 관련 기능에 접근할 수 있고 프로그래밍 기능에도 접근이 가능하다.

운영 체제 셸 밖에서 REPL의 가장 일반적인 용도는 즉각적인 프로토타이핑이다. 그 밖의 용도로는 수식 계산, 과학 분석(예: IPython)을 연동하는 문서 만들기, 상호 작용적인 소프트웨어 유지보수, 벤치마킹, 알고리즘 탐색이 있다.

REPL은 새로운 언어를 학습하는데 필수적인 부분으로 되고 있는데, 초보자에게 빠른 피드백을 제공하기 때문이다.

리스프 특화[편집]

구현체[편집]

최소한의 정의:

(define (REPL env)
  (print (eval env (read)))
  (REPL env) )

여기서 env는 초기 eval-uation(평가) 환경을 대표한다. 또, enveval에 의해 파괴적으로 업데이트될 수 있다.

같이 보기[편집]

각주[편집]

  1. Hey, Tony; Pápay, Gyuri (2014). 《The Computing Universe: A Journey through a Revolution》. Cambridge University Press. 76쪽. ISBN 978-1-31612322-5, "A major characteristic of modern scripting languages is their interactivity, sometimes referred to as a REPL programming environment. ... The characteristics of ease of use and immediate execution with a REPL environment are sometimes taken as the definition of a scripting language." 

외부 링크[편집]