2016-06-01から1ヶ月間の記事一覧

自分なりの宣言的プログラミングの定義

関数型言語や論理型言語(Prolog)は宣言的にプログラミングが出来ると入門書には書いてることがあります。 一方で、Javaの本でも宣言的なコードと書かれたものがあります。 どうもメソッド呼び出しのみが並ぶようなコードっぽい。となると、ifやfor等の制御…

Haskellで九九

手続き型言語では、オブジェクト指向全盛になった今もついループで書いちゃう九九。 じゃあ、ループじゃない書き方ってどんなだろう?と思ったので書いてみた。 import Text.Printf kuku =putStr $ concat [nineLines x y | x <- [1..9], y <- [1..9]] where…

HaskellのIOモナドは副作用は有るかも知れないけど、参照透明性は失われてないと思う

すごいH本を読み終えての感想。 IOモナド、あるいはアクションと呼ばれるものは、Haskellの中ではリストやMybeと同列。 ただIO型はモナドのインスタンスにしかなってないだけ。 (まあEqもOrdも出来ないからインスタンスになれないよね…) なのでリストの中…