民科吧 关注:310,299贴子:4,708,982
  • 15回复贴,共1

【编程语言重大变革】函数调用形式变换(点运算符)

只看楼主收藏回复

考虑一个两数相加的sum函数,sum(x,y)=x+y,我们引入一个点运算符,做一个函数调用的变化,像面向对象编程一样,有x.sum(y),在编程实践当中点运算符可以通过IDE的静态分析获得其对象相关的所有函数!因此我们可以得到当x.打出的时候,IDE自动帮我们获取所有以x的类型为第一个参数的函数。
至于为什么是第一个参数,考虑柯里化sum函数, sum(x, y)即为sum(x,y) = lambda x -> lambda y -> x +y


IP属地:中国香港来自iPhone客户端1楼2021-06-04 19:35回复
    知道为什么要写作x+y吗?因为x+y比x.sum(y)更好写,更好给人阅读
    x+y的本质是类似sum(x,y)


    IP属地:上海2楼2021-06-04 20:40
    收起回复
      好耶


      IP属地:江苏来自Android客户端3楼2021-06-04 21:09
      回复
        本质没变


        IP属地:广东来自Android客户端4楼2021-06-05 01:58
        收起回复
          楼主这是要啥简就繁?


          IP属地:上海来自Android客户端5楼2021-06-05 14:51
          回复
            不会真的有人打算在这儿讲课吧?


            IP属地:广东来自Android客户端6楼2021-06-05 15:33
            收起回复
              干嘛一定非要把lambda验算当成计算模型基础,而且还把它和oo混一起,不知道为什么,这样总让我觉得有些不舒服。现在越来越觉得人类发展以来的常用数学语言比较好了,我不再是函数式偏执狂了。


              IP属地:浙江来自Android客户端8楼2021-06-16 13:43
              收起回复