意外とHaskellゴルファーが多い今日この頃。全然勝てません
http://shinh.org:81/lranking.rb
見ると、RubyPerlHaskellのみが全問やられてる現状。Haskellerが多いのか、Haskellゴルファーが多いのかは知らないけど。とりあえず、私はHaskellについて知らないことが多すぎだと思った。42B eとか、82B hamming numberとか36B fibonacci numberとか全然わかんねー。あと地味に、普通に書いたら249Bいきましたと言われた99shinhがどう書いても270Bより減らないという。おかしい


ゴルフで学んだPrelude関数
・interact
前も書いたけど、標準入力から読み込んだ文字列に引数で与えた関数による処理を施して、標準出力に。


・mapM,mapM_
mapM_ f ls= foldr (>>) (return ()) (map f ls)
みたいな感じの関数。mapM_ print $ take 10 [1..]とかやると、1から10までの数字が改行されて出力される。ゴルフでは、mapMでOK。


・readLn::(Read a)=>IO a
なんかよく分からんが、とりあえず、整数値を一個読み込める。Hamming numberとprime numberで使用


あとimport Data.Listはimport Listでいいのを知らなかったorzなんか様子を見るに、私が気付いてない何かがまだある気がする。一応、65B permutaterを晒しておこう

main=interact$unlines.f;f[]=[[]];f s=[x:y|x<-s,y<-f$filter(x/=)s]