アナモルフィズム
「アナモルフィズム」の英語
「アナモルフィズム」は英語で anamorphism と言います。関数型プログラミングや圏論で、種値から要素を生成してデータ構造を作る操作を指します。関数型プログラミングの文献では unfold と呼ばれることもあります。
「アナモルフィズム」の英語の使い分け
圏論や関数型プログラミングで使われる専門的な用語で、種値からデータ構造を生成する抽象的な構成原理を指します。
関数型プログラミングで、種値や状態から要素を順に生成してデータ構造を作る具体的な関数・操作を指します。
コアイメージ
圏論や関数型で、種値から要素を順に生成してデータ構造を構築する操作
英英
A morphism or operation that builds a data structure from a seed value by repeatedly producing elements; in category theory it is typically the dual notion to a catamorphism.
語源
anamorphismは、ギリシャ語の接頭辞ana-と語根morphēに由来し、圏論でcatamorphismの双対としてデータを生成・展開する語として使われる
コラム
- 関数型の文献ではunfoldやアンフォールドと呼ばれることが多く、概念としてfoldやcatamorphismの双対である点が対照的に説明される
「アナモルフィズム」のレベル別の例文
「アナモルフィズム」を英語にするときのよくある間違い
× Anamorphism is the same as a fold.
○ An anamorphism is the dual of a catamorphism.
アナモルフィズムはデータ構造を生成する構成原理で、カタモルフィズムはデータ構造を畳み込む構成原理です。両者は双対ですが、同じものではありません。
× I use an anamorphism to expand the data.
○ I use an anamorphism to generate a data structure.
anamorphism は可算名詞として使うとき通常 an が必要です。また、専門用語としてはデータを単に「展開する」より、データ構造を「生成する」と表現する方が正確です。