函数式编程(fp)的数学推导

这个知乎问题的回答中,  wsivoky 写了几个基本的函数:
用 javascript (你也可以把它当作函数式语言)就是这样:
function one (a) {
  return function (b) {
    return a(b);
  }
}
.....
 
   
function succ (a) {
  return function (b) {
    return function(c) {
      return b( a(b)(c) );
   }
 }
}
以及two的定义:
 
    
function two(a) {
  return function (b) {
     return succ(one)(a)(b);
  }
}这里面的推导感觉就像数学公式的推导。我自己整理了一下思路,算是做个笔记吧。
用第二个字代表下标,以区分不同函数(或者说公式)中的变量,一次(这里刚好调用每次一个参数)函数调用fn()代表封装返回一次函数(return in function),函数本身定义就已经有了一次封装,内部如果再定义一个函数就再加一次参数,这里假定所有函数都需要参数,所以one函数接受的参数函数自己也有参数:
one(a1) = a1(b1) , 对外两次参数(包两层),实际调用格式要写成return one(a)(b)
succ(as) = bs(as(bs)(cs)), 对外三次参数(包三层), 下面这行就是它的调用格式return succ(a)(b)(c)
two(a2)=succ(one)(a2)(b2), 对外两次参数(包两层),格式return two(a)(b),one不是需要传递进来的参数,不是封装的结果

下面来解析上面最后一行的two公式(或者说two函数)如下,把公式解析到最底层的abc基本函数的调用,把succ和one解析掉:
two=succ(one)中把one公式应用(代入)到succ公式的as里,即消掉了参数as函数,同时也去掉as变量的引用,as既是函数,也是变量。
succ(one)变身 = bs(<a1(b1)>(bs)(cs)) 尖括号表示仅替代了函数变量as,参数还需要再替换
这时因为参数bs是给来替换的One函数的参数,也就是One函数的第一次参数,可以替换a1, 替换后=bs(<bs(b1)>(cs)), 
这时参数cs是给One公式代入后运行得到的函数再运行需要的那个参数,即One公式的第二次参数,所以可以用来代替b1的,所以
two可以写成two = succ(one) = bs(bs(cs)),这个新公式作为two的函数体解析后的写法,和上面老的two公式是等价的。这个新的两次参数也和老two公式的两次参数(不是两个参数,是两次)匹配
所以two把第一次参数a2代入后替换掉bs变量,
two=a2(a2(cs)),
再把第二次的参数b2代入cs,得到two = a2(a2(b2)),不加下标的通用写法就是two=a(a(b)),为了解析还是保留下标的好。

依次类推,如果说three = succ(two),函数体省略,两个参数:第一个是函数参数,第二个是给前一个用的参数, 那么还是同理把two公式代入到succ(as)公式,得到
three=succ(two) = bs(<a2(a2(b2))>(bs)(cs)), 再替换参数得到 three = bs(bs(bs(cs))),重新编组参数得到的通用写法就是
three = a(a(a(b))
加下标区分,应该写成three = a3(a3(a3(b3))
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值