@hanadix REBOOTED

音楽好き(聴く書く演る)なイット系労働者の日常と妄想

非決定性計算ラヴ

503 Service Unavailable 経由で404 Not Found を読む。

リストモナドで非決定性計算
(中略)
さて、この問題を解くことにしましょう。次に示すコードを見ると、まるで問題の条件を並べているだけのように見えるかもしれませんが、実はこれで可能な解をちゃんと求めることができます。

す げ え
マジ感動した。
非決定性計算カコイイ。
Haskellラヴ度さらに急上昇。

が、Ruby でも(実装方式は違うけど)書けることはわかったわけで、callcc とかちゃんと理解しろということだな。ちなみに

(Haskell版は全部の解が得られるけど、Ruby版は最初の解しか得られないところがちょっと違う。)

ということなのだが、これは直せばちゃんと全部の解が求まるのか?

というのは俺の宿題か。期限は今年一杯ぐらいかな(弱)

SchemeHaskell へのラヴ度がどんどん高まってくるのだが、Ruby でさえ中途半端にしか理解してないのにそれはいかんだろう。で、どっちかというと Scheme がすごくやりたいんだが、Haskell の「上からしばいていく」感じがたまらん。

私はいつも、モノ作るときは全体概要はぼんやりしてて、とりあえず下の方でもガチな部分をまずユーティリティーとして書いて、それを使ってアプリな部分を書いて、どっちつかずの部分を「中庸の精神」の名の元に「異端」のラベルを貼った上で(良心に多少の呵責を覚えながら)異端なコードを書いて、現実の問題を解決する、というやりかたをするのだが、おもちゃを作るぶんには、lazy の名の元にいきなり上からがんがん書けそうな気がする Haskell に憧れるこのごろなのです。