コンピュテーション式のカスタムオペレーターで遊ぶ

柿プロジェクトを触っているときに思いついたネタです。

ホモビルダー

日本語を使ってみたかったので作ったもの。 ネタが思いつかなかったのでこのネタに…。

https://gist.github.com/pocketberserker/b0f67590f0bcc615b330

一番最初のカスタムオペレーターの変換に unit を引数に取る Yield が呼び出されます。

t-wada さんのサバンナスタンドを表示したかったが…

ネタがないと言っていたら「サバンナ表示させればよいのでは?」と提案されたので。 しかし、等幅フォントだと残念な結果に…。

https://gist.github.com/pocketberserker/4b748d75835737bf4d82

  • 指定の順序でない場合コンパイルエラーにしたいので、型を1ラインごとにわける
  • オペレーター名をリフレクションで取得する
  • バッククオートでくくらないと使えない識別子を使っていたりします

そんなに難しくないです。

ごちうさ

簡約 λカ娘 巻の七を見てやりたくなった。

https://gist.github.com/pocketberserker/ea1b9897ab9a602126fc

  • 関数を無理やり合成する感じ
  • 呼び出すオペレーターによって変換させたりさせなかったり結合順序を変えたりできる

おわりに

ガンプラアニメ風に言えば「コンピュテーション式はどんな自由な発想で作ってもいいんだ」

あぁ^~こころがぴょんぴょんするんじゃ^~