Pure
Pure言語には、「reduce」というマクロがあります。(PureではLispのようなマクロが使える)これは、「与えられた式をもう一度評価する」というマクロです。一見単純なようですが、たくさんの応用ができそうです。 簡単な使い方を紹介します。 foo expr = redu…
「どれだけ括弧を使わずに書けるか」を競う「括弧ゴルフに、Pureを使って挑戦してみました。括弧は、「()」も「[]」も全く出てきません。0個です。階乗は大きい数(intだとオーバーフローしてしまうもの)も普通に出てくるので、それに対応するのに苦労しまし…
この方法はあまり使うべきではないと思いますが、Pure言語で手続き型言語的なプログラムを書く方法として書いておきます。 まず最初に、While関数の定義です。 while expr body = body () $$ while expr body if expr (); = () otherwise;普通に、「exprを実…
例文になるのかどうかはわかりませんが、とりあえず、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 (…
Pureの、機能や構文などについて、わかったことを書いておきます。 Pureマニュアル日本語版(http://d.hatena.ne.jp/cu39/20100609/1276102382)などを参考にしました。 この記事は未完成です。ずっと完成しないかもしれません。これからさらに追加される可能…
最近知ったプログラミング言語「Pure」をインストールしてみます。 http://d.hatena.ne.jp/Dubhead/20100312/p1 ここも参考にして書きました。 Ubuntu 9.10でやっています。 Pureについて 動的型付けの言語らしいです。インタプリタとコンパイラ、どっちも使…