Haskell

wxHaskellのサンプルをコンパイル: Hello Worldが許されるのは小学生までだよねー

すいませんでした。 > ghc -package wx HelloWorld.hs > ghc -package wx -optl -mwindows hoge.hs で起動時にコマンドプロンプトがでなくなるそうです(tanakhさんの日記より)こんだけ。なんか -package 付けてwx指定すればおkらしい。ちなみにできたexeフ…

wxHaskellインストール(Windows向け

ちなみに今現在のバージョンは0.10.3。古い情報にはご注意を。wxHaskellのページ 落とすところ とりあえずおもむろにそれっぽいものを全部落とす。いんすこ方法自分の環境: GHC6.8.2。wxWidgets2.6.4とかめんどくさいので入れてません。wxWidgets2.8.7は入っ…

wxHaskellを使ってみる

まだ使えてない。とりあえず情報収集。tanakhさんなら、tanakhさんならきっとなにかいかすドキュメントを残してくれているはず…!2004-07-09 2004-07-10 2004-07-11 2004-07-13 2004-07-14さすがっす>< とりあえず今から導入し始めてみます。

transpose

transpose :: [[Int]] -> [[Int]] transpose [] = [] transpose (x:[]) = map (\n -> [n]) x transpose (x:xs) = zipWith (:) x (transpose xs)こんなん書いたのに実は標準であったというオチが。

haskell-mode 2.4がMeadowで使えない?

モード起動時に Wrong type arguments てなる。2.3は大丈夫だった。

80

calc v d = calc' 1 where calc' x | v < (d * 10 + x) * x = x - 1 | otherwise = calc' (x + 1) root v d | v == 0 = [] | otherwise = x : root ((v - p) * 100) (d * 10 + x * 2) where x = calc v d p = (d * 10 + x) * x root n 0 でsqrt(n)の無限リス…

Problem 56

Haskellが強力すぎて勉強になりません\(^o^)/ maximum $ map (sum . map Char.digitToInt . show) [a^b | a <- [2 .. 99], b <- [2 .. 99]]逆にC++とか使った方がためになるんじゃ…とか思ったけど、ここまで楽だともうC++でやる気がおこらねぇ…。Haskellで…

std::uniqueと似たような関数 List.nub

unique欲しいなーでもないなーと思ってたらやっぱりあった。ただ、内部実装がO(N^2)、つまりソート済みでないリストも受け入れてしまう実装になっている模様。O(NlogN)ソート+O(N)でやった方が速いので、必要に応じた使い分けが重要っぽい。つーか近々Haskel…

おそ

Project Eulerの問題をできるだけHaskellで解こうとしてるけど、Haskellで速いプログラムを書けません。ヘタレ。21とか pdivs n = [x | x <- [1 .. n `div` 2], n `mod` x == 0] amicable a = sum (pdivs a') == a && a' /= a where a' = sum (pdivs a) > su…

キモ可愛い

divisors :: Int -> [Int] divisors n = [d | d <- [1 .. n], n `mod` d == 0] isPrime n = divisors n == [1, n]たまらん。実用的な物作ろうと思ったら絶対こんな書き方しないけどね。

(^o^)オワタ演算子

を作ろうとしたんだけど、演算子っぽいシンボルしか使えなくて切なかった。オワタ演算子の効果は秘密。

haskell-modeの自動インデント

ガードを書くときに=の位置とかを勝手に調節してくれるからもの凄く助かる。助かるんだけど、 abs :: Int -> Int abs x | x >= 0 = x | otherwise = -xこうしたいのに abs :: Int -> Int abs x | x >= 0 = x | otherwise = -xこうなっちゃうのが生理的に受け…

Monomorphism restriction

参考:Wiki (1) xor :: Bool -> Bool -> Bool xor = (/=) (2) xor x y = (/=) x y もしくは xor x = (/=) x人間的には(2は型指定したつもりになればw)両方とも同じなんだけど、(1)の方は明示的に型を指定してあげないとコンパイルエラーとなる。polymorphic…

GHCとmodule

GHCはmodule名と同じ名前のファイルからmoduleをimportしようとするのでファイル名とmodule名を合わせないといけない。Javaと似たような感じ。でも言語仕様なのかな?どの本にもはっきりとそう記述されてなかったから気になった。読み飛ばしただけかもしれな…

Haskell-mode メモ

設定とかに関してはここが素晴らしすぎた。ghciの設定に関しては特にそこに書かれていることをしなくても普通に使えた。そして、GHCをインスコした後特に何もしてないけど普通にMeadowの中でさくさく動いてる。 GHC関連 C-c C-s GHC起動 C-c C-l ファイルを…