Sunrabbit

まだ関数型ライブラリを使っていますか?

作成: 2024-07-30

作成: 2024-07-30 10:40

ここ数年、関数型プログラミングはかなりの流行でした。


オブジェクト指向が形を作ってくれるなら

関数型プログラミングは詳細なコードの簡潔性をもたらしてくれたからです。


もちろん、関数型プログラミングの流行は、数年という周期で継続的に発生します。

このような関数型プログラミングの流行に伴い、様々なライブラリが登場し始めました。


FxTsfp-tslodashなど


私の感覚では、FxTsの場合、ジェネレーターを使用して遅延評価を作成したツールキットに過ぎませんでした。


lodashも同様に、ツールキットのような印象でした。



もちろん、これらのツールキットは、宣言型プログラミングに役立つのは事実です。


しかし、私たちが求める関数型とは、そのようなものではなく、写像と対応、そしてモナド、さらに多くのモナドでした。

fp-tsがその要件に合致し、そのメインテナーも関数型に本気でした。


しかし、数ヶ月前、そのライブラリがEffectにマージされたという知らせを受けました。


そこで、Effectを確認してみたところ、何か違っていました。


従来のfp-tsがライブラリに近いものだったのに対し、今回のEffectはフレームワークに近いものでした。

このEffectを使用するには、Effectに関する基礎知識が必要でした。


NestJsNextJsを使用するには、それらについての理解が必要だったようにです。


ライブラリはAPIが適切に公開されていれば、使用すればそれで済みますが、フレームワークは、そのパッケージについて理解しておく必要があります。


このようなEffectは、RxJsのようにObservableでラップされているのではなく、Effectでラップされたオブジェクトが行き来し、

まるでasync キーワードのように感染を広げていきました。


Effect オブジェクトを使用するには、そのオブジェクトを使用する関数もEffectでなければなりませんでした。


まるで上のコードのprogram のようにです。


もちろん、エントリポイントとして使用される関数はいくつかありますが、それはあまりセクシーではありません。


とにかく、このようなEffectの形態と美しさは、フレームワークとしての役割を果たし、Node界に新たな風と標準を示してくれるのではないかと、筆者は期待しています。


コメント0