PureScriptの末尾再帰最適化

はじめに

年が明けてますが、PureScript Advent Calendar 2017 - Qiitaの19日目の記事にしてしまいます。

PureScriptは末尾再帰最適化ありますが、モナディックな再帰は最適化されません。 よって、何も考えないと稀に、コールスタックに積み上がりすぎてエラーが起こるという状況に遭遇するかもしれません。 というか私は遭遇しました。 そんなときのためのパッケージを紹介します。

紹介

後者はtailrecをラップしたパッケージです。

これらを使って書き直すと、きっとエラーが起こらなくなるはずです。

さいごに

サンプルコード書こうかと思ったけど、まぁREADME読めばわかるしええやろ、という気持ちで手抜きの記事となりました。