您的位置:首页 > 其它

关于函数式语言

2019-03-03 21:38 99 查看

什么是函数式语言,以及流行的原因

函数语言的特点:
1:函数是头等值,函数可以当成参数提供给其他函数,也可以在函数中当作返回值,以及在函数中定义函数
形式可表示为数学上的函数:y=f(x) z=g(y) 可以组成复合函数 z=f(g(x));

2:把输入的值映射成输出的值,

例如: int b(int x) {return x+1;} s=b(s);

修改s的是b(s)中return x+1,不修改系统变量

3:给定输入固定的输出,没有副作用(副作用是修改系统状态的语言结构,函数内部与外部互动,产生运算以外的其他结果。)

4:引用透明性(如果提供同样的输入,那么函数总是返回同样的结果),有助于验证正确性、简化算法,甚至有助于找出优化它的方法。

常见的函数式语言有哪些?

coljure、scala、Haskell

流行的原因:

  1. 代码简洁,开发快速
  2. 接近自然语言,易于理解
  3. 更方便的代码管理
  4. 易于"并发编程" (函数不修改变量,程序不会发生死锁)
    elemtype s1 = Op1(); elemtype s2 = Op2(); elemtype s3 = concat(s1, s2);

    s1与s2相互独立,执行结果与执行顺序无关,易于添加线程。
  5. 代码的热升级
    函数式编程没有副作用,只要保证接口不变,内部实现是外部无关的。所以,可以在运行状态下直接升级代码,不需要重启,也不需要停机。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: