これは、JavaやC#、C++といった手続き言語の経験者が、CleanやHaskellといった純粋関数型プログラミング言語を学ぶためのチュートリアルだ。関数型言語の入門ドキュメントでは、関数型言語が得意とする問題を解くものが多い。そのため、いざ普通のプログラムを書こうとすると、途方にくれることになったりする。しかし、ここでは、手続き型言語で一般的な、入出力を伴ったプログラムを書くことをメインにしようと思う。