16、函数式与类型化编程的探索

函数式与类型化编程的探索

1. Flan:简单的函数式语言

函数式编程语言本质上是应用 λ - 演算。在描述常量的行为时,有两种方式:一是添加规则描述常量的预期行为,如 [plusconst] Plus n1 n2 →N[[n1]] + N[[n2]] ;二是引入 apply 函数,对于每个常量 c ,返回将 c 应用于其参数的结果,后续采用后一种方式。

1.1 抽象语法

Flan 是一种严格、纯函数式编程语言,是 ML 的子集。设 Fexp 表示 Flan 程序(或表达式)的语法类别, Fcon 表示 Flan 常量的语法类别, Var 表示变量集合。形成规则如下:

e ::= x | c | (e1, e2) | e1e2 | if e0 then e1 else e2 |
      fn x.e | let x = e1 in e2 | letrec x = e1 in e2
c ::= n | True | False | Plus | Times | Minus | Equal | Not | IsZero

fn x.e 表示参数为 x 、主体为 e 的函数,函数应用通过表达式并列表示,所有函数只有一个参数。Flan 是应用 λ - 演算的扩展,

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值