2012-11-26 27 views
3

我想了解使用y-combinator和continuation monad的抽象函數之間的相似之處。直覺上,我覺得他們有共同的東西,但我並不瞭解他們中的任何一個人都能夠在答案中掌握。請幫忙。是Y-Combinator單子嗎?

+3

組合器,延續器和單片機都是不同類型的東西,所以很難說你在尋找什麼樣的通用性。把一個直接遞歸函數變成一個使用定點組合器的函數,我傾向於需要用類似continuation-passing的方式重寫它,我想。 –

+9

Haskell中的Monads是具有一些附加函數('return'和'>> =')滿足某些屬性的'* - > *'類型的數據類型。另一方面,組合器是一個閉合項(一個沒有自由變量的程序)。所以他們是完全不同的概念。 –

回答

1

它們是完全不同的概念。他們唯一的共同點就是它們被用來管理程序控制流程。