「モナドなんて難解なものを含んだ言語は業務で使えねー!!」とScalaの悪口を言おうとして調べてたらモナドが何となく分かった気がしたのでMaybe Monadをgroovyで書いてみました。面白いわこれはw。 ただ、HaskellもScalaもちょっと読んだぐらいの経験しかないし、「JavascriptでMaybe」とか「RubyでMaybe」とかPerlでとかも参考にしてませんので、間違ってる可能性も大*1。 例としては「モナドの全て」のクローン羊の話を実行しています。 なお、Maybeモナドはモナドの中でも簡単なものだそうなので、わかったというのはおこがましい,ってのはその通りです。 さらに、Monadは、純関数型言語で使って最も効果を発揮するものだし、ライブラリや言語仕様やイディオムを含む、総体的な「モナディックプログラミング文化」としてでも多分捉えるべきなので、1個Maybeを定義