s n=show n++take(n*2+9)" shinichiroes"++" of hamaji"
w n=s n++" on the wall"
a#b=a++", "++b++".\n"
f 1="Go to the store and buy some more"#w 99
f x="Take one down and pass it around"#w(x-1)
main=mapM putStrLn[w n#s n++f n|n<-[99,98..1]]
【修正後】 235 バイト
s n=shows n" shinichiro"++drop(4-2*n)"es of hamaji"
w n=s n++" on the wall"
a#b=a++", "++b++".\n"
f 1="Go to the store and buy some more"#w 99
f x="Take one down and pass it around"#w(x-1)
main=mapM putStrLn[w n#s n++f n|n<-[99,98..1]]
ついに、235バイト!!
【その他 1】 237 バイト
s n=shows n" shinichiro"++drop(4-2*n)"es of hamaji"
w n=s n++" on the wall"
a#b=a++", "++b++".\n"
f 1="Go to the store and buy some more"#w 99
f x="Take one down and pass it around"#w(x-1)
g n|n>0=putStrLn(w n#s n++f n)>>g(n-1)
main=g 99