库里是Haskell Curry的最后一个名字,Haskell Curry是20世纪着名的逻辑学家,后来Haskell得名.
而"折叠"只是因为折叠操作符比喻地表示折叠,就像一手牌可以折叠成看起来像一张卡片.可以把它foldr (+) 0 [1,2,3] == 6
看成是一张卡片1,2和3折叠成一张卡片6.
"减少"这个词也意味着折叠,可以用类似的类比来说明.
当然,Haskell甚至比最虚弱和最幸运的扑克游戏更具魔力,因此功能性编程中的折叠实际上可以产生一副卡片,其卡片比折叠的卡片更多,或者卡片可以折叠成猫等等. :foldr (\i, acc -> [show i,show i,show i] ++ acc) [] [1,2,3] == ["1","1","1","2","2","2","3","3","3"]
.因此什么开始作为折叠最终演变成可以产生极其普遍的操作map
,以及filter
等,所以不要太忘乎所以与扑克比较和词源.
至于如何命名他们:重命名一个死人可能不是最合乎道德的事情.这个可怜的家伙是如此成功,他的名字被用于大事,然后你想剥夺他追求他的喜悦并将他改名为别的东西?除非其他东西是Newton Watt Scoville或KelvinCelsiusÂngström,否则我真的不会尝试重命名.
但是,如果你的意思是重命名编程概念:在饥饿的意见中,它可以用名称"ricing"来引用.但库里先生可能仍然感到害怕.
折叠实际上可以被重命名为虚张声势,如果你没有满足它的众多现有名称 - 感谢som-snytt的建设性想法.
库里是Haskell Curry的最后一个名字,Haskell Curry是20世纪着名的逻辑学家,后来Haskell得名.
而"折叠"只是因为折叠操作符比喻地表示折叠,就像一手牌可以折叠成看起来像一张卡片.可以把它foldr (+) 0 [1,2,3] == 6
看成是一张卡片1,2和3折叠成一张卡片6.
"减少"这个词也意味着折叠,可以用类似的类比来说明.
当然,Haskell甚至比最虚弱和最幸运的扑克游戏更具魔力,因此功能性编程中的折叠实际上可以产生一副卡片,其卡片比折叠的卡片更多,或者卡片可以折叠成猫等等. :foldr (\i, acc -> [show i,show i,show i] ++ acc) [] [1,2,3] == ["1","1","1","2","2","2","3","3","3"]
.因此什么开始作为折叠最终演变成可以产生极其普遍的操作map
,以及filter
等,所以不要太忘乎所以与扑克比较和词源.
至于如何命名他们:重命名一个死人可能不是最合乎道德的事情.这个可怜的家伙是如此成功,他的名字被用于大事,然后你想剥夺他追求他的喜悦并将他改名为别的东西?除非其他东西是Newton Watt Scoville或KelvinCelsiusÂngström,否则我真的不会尝试重命名.
但是,如果你的意思是重命名编程概念:在饥饿的意见中,它可以用名称"ricing"来引用.但库里先生可能仍然感到害怕.
折叠实际上可以被重命名为虚张声势,如果你没有满足它的众多现有名称 - 感谢som-snytt的建设性想法.