즉석(프로그래밍 환경)

Impromptu (programming environment)
즉석
Splash smaller.jpg
패러다임기능적, 다중 패러다임
설계자앤드루 소렌센
첫 등장2005; 17년 전(2005)
안정적 해제
2.5
타이핑 규율동적 & 정적
OS맥 OS X
웹사이트impromptu.moso.com.au
영향을 받은
영향받은
익스템포어

즉흥라이브 코딩을 위한 맥 OS X 프로그래밍 환경이다.즉흥적인 것은 리스프 언어의 일원인 Scheme 언어를 중심으로 만들어진다.그것의 핵심의 소스 코드는 Extempore 프로젝트로 개방되었다.

설명

환경은 프로그램을 런타임에 변경할 수 있도록 하므로 변수와 기능이 재정의되고 변경사항이 즉시 효력을 발휘한다.프로그래머는 또한 노트와 그래픽 오브젝트와 같은 데이터 이벤트뿐만 아니라 향후 실행을 위한 코드를 만들고 스케줄링할 수 있다.이벤트가 예약되면 실행이 계속된다.루핑은 "임시 재귀"라는 숙어를 사용하여 수행되는데, 이 숙어는 비동기적으로 스스로 미래의 호출을 최종 동작으로 스케줄링하여 작동한다.

이 라이브러리는 오디오 합성을 위해 오디오 유닛과 통신할 수 있으며, 비디오 구성을 위해 QuickTime, Quartz, Core Image, OpenGL과 같은 그래픽 레이어와 통신할 수 있다.목표-C로 작성된 코드는 편집자로부터 호출할 수 있으며, 목표-C 프레임워크는 계획 해석자에게 호출을 수행할 수 있다.

즉흥적인 계획 통역은 처음에 TinyScheme 1.35 베이스라인에서 제작되었지만, 라이브 코딩 상황에 더 잘 맞도록 그 이후로 상당히 수정되었다.실시간 쓰레기 수거기, 목표-C 통합 등이 추가됐다.또한 Extempore Language라고 불리는 정적으로 타이핑된 새로운 언어가 시스템에 통합되었다.이 언어는 구문론적으로 체계와 유사하지만 의미론적으로 C에 더 가깝고, 실시간 사운드 합성 및 기타 계산적으로 무거운 작업을 위해 설계되었다.형식 추론을 제공하고 LLVM에 의해 기계 언어로 컴파일된다.

샘플 성능

Keith의 연구(Study in Keith)는 Andrew Sornsen의 즉흥적인 라이브 코딩 공연이다.처음 2분(1:56)은 침묵하고, 연주자는 작품의 소개를 제작할 프로그램을 작성한다.그때부터 그는 즉석에서 코드를 수정하여 구성을 진화시킨다.

익스템포어

즉흥성의 핵심은 BSD 스타일 라이센스에 따라 Extempore로 출시되었다.그것은 Linux와 Mac OS X 둘 다에서 운영된다.여기에는 Scheme 인터프리터, Extempore Language 컴파일러 및 스케줄러가 포함된다.애플 라이브러리에 대한 바인딩은 없지만 환경은 동적 라이브러리와 상호 작용할 수 있다.

참고 항목

참조


학술논문

기타 출처

외부 링크