kikkiiのブログ

ひきこもり

Haskell

debian系のlinuxでサクッとhaskellの環境をつくる

「サクッとhaskellのコードの補完を使いたいだけ」という感じパッケージを入れては消して、タイトにまとめたかったからゴチャゴチャしてきたらlinuxを初期化して何度か試した結果に残ったことをメモする。 debian系のlinuxにhaskellの環境をつくる。最初hask…

linesとsplit-sequenceで文字列を分割

Haskellでは、文字列の中の \n は改行。こういうことをすぐ忘れてしまう。 Prelude> :t lines lines :: String -> [String] -- linesは、改行のところで文字列を分割してリストにする関数 Prelude> lines "aa\nbb\ncc\ndd\nee\nff" ["aa","bb","cc","dd","ee…

ヨセフスの問題

ある怨念数学本を除霊師の気持ちで地道に読み進めていたらヨセフスの問題というのが出てきてむーとなっていました。数式と呼ばれる禍々しい文様が記してある本は呪術性が高いので、数学の本は怨念本になりやすいです。このサイトで簡単にヨセフスの問題の答…

Haskellで二分木・白黒木

低脳だから学ばなければならないはずだけど、低脳だと気づきたくないから目を背けてしまう。最近プログラミングの勉強を疎かにしている。「よくないな久しぶりにやろうか」ということで、今日はこれ「Learn You a Haskell for Great Good!」を少し読み進めた…

クイックソート2

前にブログに貼り付けたクイックソートのコードをほんの少しだけ読みやすくしたい。内包表記の部分を書き換える。まずはhaskell。 -- 前 quicksort :: (Ord a) => [a] -> [a] quicksort [] = [] quicksort (x:xs) = let smallerSorted = quicksort [a | a <-…

クイックソート

HaskellとCommon Lispの勉強をコッソリ少しずつ進めている。Haskellでクイックソートが簡単に書けるのを知って嬉しい。このサイトのコードを貼り付ける。 -- haskell quicksort :: (Ord a) => [a] -> [a] quicksort [] = [] quicksort (x:xs) = let smallerS…