我正在寻找一些关于递归方案和核递归方案的非常简单易懂的解释(catamorphisms,anamorphisms,hylomorphisms等),而不需要跟随大量链接或打开范畴论教科书。我确信在编码过程中无意中“重新发明”了许多这些方案并在脑海中“应用”了它们(我相信我们许多人都是这样做的),但我不知道我使用的(共同)递归方案叫什么。 (好吧,我撒谎了。我刚刚读了一些关于它们的东西,这促使我提出这个问题。但在今天之前,我一无所知。)
我认为这些概念在编程社区中的扩散受到了阻碍,因为人们往往遇到了禁止解释和示例-例如在维基百科上,但也在其他地方。
它们的名称也可能会受到阻碍。 我认为有一些替代的、不那么数学化的名称(关于香蕉和铁丝网的某些内容?),但我对我使用的递归方案的更可爱的名称一无所知。
我认为使用表示简单实际问题的数据类型的示例,而不是抽象的数据类型(如二叉树),将有助于理解。