私は関数型プログラミングを調査してきましたが、メソッドを持つ(不変の)オブジェクトを持ち、したがってメソッドチェーンをサポートする関数型言語が存在する可能性があることに気づきました(チェーン可能なメソッドは、メソッドのインスタンスを変更するのではなく、新しいインスタンスを返します)が呼び出されて返されます)。
これには、読みやすさの利点があります...
o.f().g().h()
... 間違いなく以下よりも読みやすい:
h(g(f(o)))
また、特定の関数を特定のタイプのオブジェクトに関連付けることもできます。これらのタイプのメソッドを作成することで可能になります (オブジェクト指向言語の利点の 1 つであると私は理解しています)。
このように動作する言語はありますか? これが悪い考えだと信じる理由はありますか?
(Javascript などでこのようにプログラムできることは知っていますが、Javascript は不変性を強制しません。)