エンジニアリンググループの冨岡です。 私は最近関数型プログラミングにハマっていて、社内でFP in Scala (訳書)の輪読会を主催するなどして関数型やScalaが好きな人を増やす活動をしています。 この輪読会ですが、本自体の素晴らしさもあって未だに参加者7人が誰一人脱落することなく読み進めています。現在8章と折返し地点なのですが、これまでの章で十分に訓練された私たち参加者は、(説明の都合上)副作用を起こす処理が教科書に出てこようものなら大ブーイング。教科書の解法を確認しては「美しい!」「エレガントだ!」と盛り上がりながら読み進めるようになりました。 中でもfoldRightは大人気で、登場のたびに場を盛り上げてくれます。この記事では、このfoldRightがなぜ美しいのかを解説します。 foldLeft / foldRight まずは、似た処理であるfoldLeft / foldRig