特徴的な演算子を持つChucK

ChucK => Strongly-timed, On-the-fly Music Programming Language
ChucKは、その場で音、音楽が作れる言語。

SinOsc s => dac;
2::second => now;

これは2秒間純音を鳴らすプログラム。

ChucKの演算子は大体CやJavaと同じだが、代入演算子が無く、chuck(抛り投げ)演算子がある。
chuck演算子は何かアクションを起こすときに使う。例えば、変数に代入したいときは1.2 => float f; 10::second => dur d;のようにする。一般の言語ならfloat f = 1.2; dur d = 10::second;と書くところだけど、この書き方はChucKでは許されていない。
あるいは、( 30, 1000 ) => Math.rand2f;と書いたとき、これはMath.rand2f( 30, 1000 );と同じになる。つまり変数に抛れば代入、関数に抛れば関数の呼び出しになる。
あるいは代入につかう@=>もある。これは代入専用chuckで、配列やオブジェクトの参照型に代入する時はこれを使わなければならない。他にはC言語の+=や-=などに相当する+=>、-=>などがある。

ChucKは基本的な型として整数のint、浮動小数点数のfloat、複素数のcomplexとpolar、それに時刻timeと時間durを持っている。音楽のための言語だから、時刻の扱いが大切で、nowという予約語がある。nowは現在の時刻を表す特別な変数。nowに時刻や時間を代入すると、その分だけ時間が進む。つまり、音を鳴らせる。
あと、並列に音が出せなければマズいので、spork演算子を使って処理を並列化できる。

音を出すときはUGen(Unit Generator)をdacにchuckする。SinOsc s => dac;出すのをやめるときは=<を使う。s =< dac;
また、UGenはいくつも繋げることができる。SinOsc s => Gain g => JCRev r => dac;
UGenはオブジェクトなので、色々設定できる。440 => s.freq; //周波数を440にする。s.freq(440);と書いても良い。

詳しくは=>ChucK - [Language Specification]