Pure言語例文 FizzBuzz

例文になるのかどうかはわかりませんが、とりあえず、PureでFizzBuzzをやってみました。
こんなコードです。

check x = "FizzBuzz" if ~(x mod 3) && ~(x mod 5);
        = "Fizz" if ~(x mod 3);
        = "Buzz" if ~(x mod 5);
        = x otherwise;

fizzbuzz n = map check (1..n);

演算子「mod」は、割り算の余りを計算します。割りきれた場合は0が返るので、演算子「~」を使って反転します。(0はfalse、それ以外はtrueになるようです。)
関数「fizzbuzz」の定義では、「map check (1..n)」としていますが、演算子「..」は、ある数からある数までの連続した数のリストを作ります。
「..」は演算子なので、「(..) 10 15」として「[10,11,12,13,14,15]」を作るようなこともできます。