型レベルFizzBuzzどっかで見た気がするが、今書けるかというと絶対無理 — xenophobia (@xenophobia__) 2014, 5月 2 ↑みたいなこと呟いたら「そんな難しいか?」という意見が見受けられ、言われてみれば確かにそんな言うほど難しくないのでは、と思い書いてみました。最近Haskell書いていない気がするし。*1 なんですが、そもそも"型レベルFizzBuzz"って何でしょうか。初めに想像したのは (N1, N2, ...は型レベル自然数として) *Main> :t Proxy :: Proxy (XFizzBuzz N1) Proxy :: Proxy (XFizzBuzz N1) :: Proxy ('Number ('S Zero)) *Main> :t Proxy :: Proxy (XFizzBuzz N3) Proxy :: Proxy (XFizz