美文网首页
curried function

curried function

作者: F4A3 | 来源:发表于2017-12-01 10:56 被阅读0次

柯里化

haskell 趣学指南中在高阶函数这一章中提出了柯里化概念。
举例max函数
首先看max函数的类型

max :: Ord a => a -> a -> a

按照以前haskell中的方式来讲。
max这个函数需要2个a类型的参数.然后返回一个a类型的值.max 4 5中,4跟5就是参数.返回较大者5.
看下max 4的类型

max 4 :: (Num a, Ord a) => a- >a

需要一个a类型(Ord跟Num的成员),返回一个a类型的值。
所有其实
max :: Ord a=> a -> a-> a 可以看做max :: Ord a=>a ->(a->a)
max 4返回一个函数.该函数需要一个a类型的参数,返回a类型的值.
max 4 可以看做f (a, b)中a=4 .然后传入b的调用.
简而言之.
柯里化:在直观上。 f (x,y) = x+y.我们把x固定为4然后返回。就成了f (4,y) = 4+y .这个函数。此时只要考虑传入y即可。
python中的functools.partial()函数就是这么用的。 廖雪峰教程中管它叫偏函数来着。

相关文章

  • curried function

    柯里化 haskell 趣学指南中在高阶函数这一章中提出了柯里化概念。举例max函数首先看max函数的类型 按照以...

  • Function program of the Javascri

    use map(),forEach() method reference curried function ref...

  • swift Tips

    swift curried(柯里化) func greaterThan(comparor: Int)(input:...

  • 泰国菜单中英文对照表

    【泰文餐单,方便点菜时用】 ปูผัดผงกะหรี่ (Curried crab)) 咖哩蟹 ปูไข่เผา ...

  • Curried Fish Pie

    总共用时1小时45分钟 食材准备: - 4瓣大蒜粒 -1至2个红色小米椒 -葵花子油 -2小把新鲜咖喱叶 -1.5...

  • Swift:实例方法的本质是柯里化函数

    声明 本文是本人翻译的国外的文章Instance Methods are Curried Functions in...

  • scala柯里化函数

    定义curried函数:def add(a: Int)(b: Int)=a+b 调用:var addOne=add...

  • Instance Methods are “Curried” F

    实例方法是Swift中的“Curried”函数 Updates: Jul 29, 2014Made the act...

  • (function(){})(this,function(){}

    本文由何小蒙[https://www.jianshu.com/u/b942c563d152]原创,如需转载要注明来...

  • Lodash/fp

    Lodash/fplodash的fp模块提供了实用的对函数式编程友好的方法提供了不可变auto-curried(已...

网友评论

      本文标题:curried function

      本文链接:https://www.haomeiwen.com/subject/onmibxtx.html