コンピュテーション式のカスタムオペレーターで遊ぶ
柿プロジェクトを触っているときに思いついたネタです。
ホモビルダー
日本語を使ってみたかったので作ったもの。 ネタが思いつかなかったのでこのネタに…。
https://gist.github.com/pocketberserker/b0f67590f0bcc615b330
一番最初のカスタムオペレーターの変換に unit を引数に取る Yield が呼び出されます。
t-wada さんのサバンナスタンドを表示したかったが…
ネタがないと言っていたら「サバンナ表示させればよいのでは?」と提案されたので。 しかし、等幅フォントだと残念な結果に…。
https://gist.github.com/pocketberserker/4b748d75835737bf4d82
- 指定の順序でない場合コンパイルエラーにしたいので、型を1ラインごとにわける
- オペレーター名をリフレクションで取得する
- バッククオートでくくらないと使えない識別子を使っていたりします
そんなに難しくないです。
ごちうさ
簡約 λカ娘 巻の七を見てやりたくなった。
https://gist.github.com/pocketberserker/ea1b9897ab9a602126fc
- 関数を無理やり合成する感じ
- 呼び出すオペレーターによって変換させたりさせなかったり結合順序を変えたりできる
おわりに
某ガンプラアニメ風に言えば「コンピュテーション式はどんな自由な発想で作ってもいいんだ」
あぁ^~こころがぴょんぴょんするんじゃ^~