言語全体が参照透明な式1で構成される言語を純粋関数型プログラミング言語(Purely Functional Programming Language)と言いますが、プログラミング言語から副作用のある式をすべて除去し、その代わりにアクションとかIOモナドと呼ばれる仕掛けを追加すると、その言語を純粋関数型に変えることができます。このあいだふとした思いつきでJavaScriptを純粋関数型にしてみたんですが、そのままストレージの奥で腐らせるのはもったいないのでAurorScriptと名づけて記事にして飾っておきます。アクションの仕掛け全体は10行くらいで書けるので簡単です。 純粋関数型を理解するには、自分でアクションのような仕組みを作ってみるのがとてもいい勉強になります。だって、「副作用のない式のみで副作用を表現する」とか説明しても「……はぁ? けっきょく副作用あるの? ないの?」とかっていう反