Экспромт (среда программирования)
![]() | |
Парадигма | Функциональный , мультипарадигмальный |
---|---|
Разработано | Эндрю Соренсен |
Впервые появился | 2005 г |
Стабильная версия | 2.5 |
Дисциплина набора текста | Динамический и статический |
ТЫ | Мак ОС Х |
Веб-сайт | экспромт |
Под влиянием | |
Под влиянием | |
Экспромтом |
Impromptu — это Mac OS X среда программирования для живого кодирования . Impromptu построен на языке Scheme , который является членом семейства Lisp языков . Исходный код его ядра открыт как проект Extempore .
Описание
[ редактировать ]Среда позволяет вносить изменения в программу во время выполнения , поэтому переменные и функции могут быть переопределены, и изменения вступят в силу немедленно. Программист также может создавать и планировать код для будущего выполнения, а также события с данными, такие как заметки и графические объекты. Как только событие запланировано, его выполнение продолжается. Цикл выполняется с использованием идиомы, называемой «временной рекурсией», которая работает, когда функция асинхронно планирует будущий вызов самой себя в качестве своего последнего действия.
Библиотека позволяет взаимодействовать с Audio Units для синтеза звука и с графическими слоями, такими как QuickTime , Quartz , Core Image , OpenGL для композиции видео . Код, написанный на Objective-C, можно вызывать из редактора, а платформы Objective-C могут выполнять вызовы интерпретатора Scheme.
Интерпретатор Scheme в Impromptu изначально был создан на основе базовой версии TinyScheme 1.35, но с тех пор он был существенно изменен, чтобы лучше соответствовать контексту живого кодирования. в реальном времени Были добавлены сборщик мусора и интеграция с Objective-C . новый статически типизированный язык под названием Extempore Language Кроме того, в систему интегрирован . Этот язык синтаксически похож на Scheme, но семантически ближе к C и предназначен для синтеза звука в реальном времени и других сложных вычислительных задач. Он обеспечивает вывод типа и компилируется в машинный язык с помощью LLVM .
Пример производительности
[ редактировать ]«Этюд у Кита» — это живое выступление по программированию в «Экспромте» Эндрю Соренсена. Первые две минуты (1:56) тишина, пока исполнитель пишет программу, в которой будет вступление произведения. С этого момента он модифицирует код на лету, чтобы улучшить композицию.
Продолжительность: 11 минут 38 секунд.
Экспромтом
[ редактировать ]Ядро Impromptu было выпущено как Extempore под лицензией в стиле BSD. Он работает как под Linux , так и под Mac OS X. Он включает в себя интерпретатор Scheme, компилятор языка Extempore и планировщик. Привязки к библиотекам Apple отсутствуют, но среда может взаимодействовать с динамическими библиотеками.
См. также
[ редактировать ]- Замолчи
- Сравнение сред синтеза звука
- СуперКоллайдер
- Обработка (язык программирования)
- OpenFrameworks
- ЧакК
- Список музыкального программного обеспечения
- Макс (программное обеспечение)
- Чистые данные
Ссылки
[ редактировать ]Научные статьи
[ редактировать ]- Соренсен, А. (2010) « Распределенная память для сетевого живого кодирования » Международная конференция компьютерной музыки 2010, Нью-Йорк
- Соренсен, А. и Браун, А. (2008) « Вычислительная модель для создания оркестровой музыки в германской симфонической традиции: отчет о ходе работы », документ, представленный на Австралазийской конференции по компьютерной музыке 2008, Сидней
- Соренсен, А. и Браун, А. (2007) Доклад « aa-cell на практике: подход к музыкальному живому кодированию », представленный на Международной компьютерной музыкальной конференции 2007, Копенгаген.
- Соренсен, А. (2005) « Экспромт: интерактивная среда программирования для композиции и исполнения », документ, представленный на Австралазийской компьютерной музыкальной конференции 2005, Брисбен: ACMA, стр. 149–153. (Примечание: обсуждаемая импровизированная версия устарела)
- Соренсен, А. « ICR — среда выполнения импровизированного компилятора »
- Тор Магнуссон, « Исповедь живого программиста », Материалы Международной конференции по компьютерной музыке, 2011.
Другие источники
[ редактировать ]- Питер Кирн, « Мысль и исполнение, живая музыка для кодирования, объясненная каждому - правда », Create Digital Music, 2011 г.
- Митчелл Уайтлоу, « С нуля: разговор с Эндрю Соренсеном », 2007 г.