函数式编程的三个核心问题:计算的构建、求值、关系

函数式编程的三个核心问题:计算的构建、求值、关系

 

一、关系:

1、函数与函数的关系:引用、无关;

2、函数与值的关系:输入输出、上下文;

3、值与值的关系:引用、因果;

 

二、计算的构建:

1、输入输出流的平凡构建;签名兼容的函数调用链构建;无高阶函数,构建器compose pipeline本身是高阶函数;

2、函数作为参量引用链的构建;

3、monad+高阶函数的类型推演链构建;构建的形式相当于普通数据结构的单向或双向链表;

 

三、求值(计算)的执行:

1、输入

1)平凡值:普通的变量

2)信号源:响应式编程中的输入;

3)异步计算:将异步计算封装为一个特殊的值;

4)io流:同步或异步的io事件或数据流;

 

2、计算的执行

1、显式调用:计算结构完成后显式调用计算的整体结构;

2、构建调用:在引入后继计算时,计算当前和引入计算的阶段计算结果保存进一个monand中,供后即计算使用;

3、异步或IO流注入,触发调用事件;

4、回溯调用:计算构建完毕后,由末端节点触发求值,求值请求沿着计算节点在源头触发求值;计算结构是由monad链接起来的双向链结构

 

push\pull\observer;

 

四、构建与计算的关系:

先构建计算,再调用计算结构执行计算;构建的过程只有计算关系的构建,只有函数的组装,没有求值的过程。

边构建边计算;每引入一个计算后,就执行阶段性计算结果;计算结果保存进一个monand中,供后即计算使用;

 

五、同步与异步

同步:

1、无monad参与的计算构建:求值过程遵从先构建再求值的过程;

2、有moand参与的计算构建:边构建边计算,计算的输入和结构都有monand作为上下为保存。moand同事作为计算结构连接节点的作用;

异步:

moand作为封装异步数据的上下文参与计算的构建和计算的执行。

 

转载于:https://www.cnblogs.com/feng9exe/p/11364040.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值