HaskellHaskellHaskellを現場言語にするために、こんなものを作ってみました。Evaluator(名前には深い意味はありません。)Haskellでワンライナーをやろうという誰得なツールです。誰得ですが、ワンライナーでも、型があると便利なんではなかろうか、型を元にユーザの望みの動作が大体決定できるんではなかろうか、という発想を元に作られました。型しか評価できません。色々な型を評価できます。その型に応じていい感じの動作が自動的に選択されます。idを入力すると、入力がそのまま出力されます。World!そうです。catを作るのに、http://d.hatena.ne.jp/nobsun/20100820/1282270092こんなプログラムを書く必要は無いんです。文字列全体に与えられた関数を適用します。WORLD!大変単純明快です。ほか基本的にhoeは、行指向の振る舞いをします。先頭から2行を取ってくる処理になります。行をソートする処理になります。'sort'HaskellHello,World!大変シンプル。関数を書いた場合も、行ごとの処理になります。関数を書けば、第一引数に行番号が入ります。World!先頭に行番号を書いたりするのも、このとおり。返せば、第一引数でソートした結果が出力になります。s)'Hello,World!Haskellこれは、行を長さでソートします。関数のlift/join行ごとではなく、文字ごとに処理したい場合もあります。書くと、先頭2行を落とす処理になりますが、各行2文字落とす処理が書きたいとしましょう。2'llo,skellrld!のように、mapを用いればできますが、これはめんどくさい。オプションを用意しました(現在の実装は極めていい加減なので、型によってはうまく動かない時もあるかもしれませんし、joinじゃなくてliftするかもしれません)。2'llo,skellrld!と書けます。モジュール自動importhoeは、独断と偏見で選別したよく使われるライブラリを、自動的にimportしています。上での例でのtoUpperが装飾なしで使えていたのはこのおかげです。length'Hello,World!Haskellこのようにも書けます。付けると、与えたファイルを書き換えます。*とやると、すべてのファイルを大文字にします。*元のファイルに.bakを付けたファイル名でバックアップが作成されます。