括弧無しゴルフ in Haskell
新しい制限が加わっていますね。
ということで角括弧もなくします。
main = mapM_ uncurryp $ take 21 $ zip from0 $ scanl times 1 from1 where p i n = putStrLn $ show i ++ "! = " ++ show n uncurryp = uncurry p times a b = a * b from1 = numsFrom 1 from0 = numsFrom 0 -- 連番リスト生成 numsFrom n = cons n . numsFrom . inc $ n where cons a b = a : b inc n = n + 1
なんとなくHaskellはいくらでも括弧なくせそうな気がします。
連番リストは普通なら次のように書きます。
numsFrom n = n : numsFrom (n+1)
まあ[0..]とかでいいんですが。