Chugens, Chubgraphs, Chugins: 3 Tiers for Extending Chuck

The ChucK programming language lacks straightforward mechanisms for extension beyond its built-in programming and processing facilities. Chugens address this issue by allowing programmers to implement new unit generators in ChucK code in realtime. Chubgraphs also allow new unit generators to be built in ChucK, by defining specific arrangements of existing unit generators. ChuGins allow a wide array of high-performance unit generators and general functionality to be exposed in ChucK by providing a dynamic binding between ChucK and native C/C++based compiled code. Performance and code analysis shows that the most suitable approach for extending ChucK is situation-dependent.