functional-programming相关内容

功能语言的独特特征

众所周知,所有功能语言共享一些基本属性,例如使用函数作为具有所有后果的程序的基本构建块,如使用递归而不是迭代。然而,也存在一些根本性的差异。 Lisp使用Lisp代码和数据的单个表示,而ML没有ML代码的标准表示。 Erlang具有内置的基于actor的并发功能。哈斯克尔有单子。 Haskell在静态类型系统中区分纯粹和不纯的功能; ML没有。 其他功能语言(Clojure,F#,Arc,a ..
发布时间:2017-08-27 12:15:22 其他开发语言

如何在Erlang列表中搜索项目?

我正在为公司使用写一个缓存gen-server。我想知道如何从列表中搜索一个项目,因为我想要搜索比较erlang中的各种数据结构的费用,如dict,orddict,List,tuples,tree,queue等,以用于缓存程序。 示例: List = [{“A1”,[“ankit” sush“,”Hover“,”x4“,”a3“,”nilesh“,”mike“,”erlang“ .. ..
发布时间:2017-08-27 11:54:43 其他开发语言

在Erlang中转置二维矩阵

给出如下的矩阵,将其变换为下面的第二个矩阵,即90度。你会如何以最干净的方式做到这一点?简单/简洁/清晰的解决方案,其中易于掌握的是首选。 从 [[A1,A2,A3], [B1,B2,B3], [C1,C2,C3]] To [[A1,B1,C1 ], [A2,B2,C2], [A3,B3,C3]] 编辑:我意识到从原始问题不 ..
发布时间:2017-08-27 11:52:20 其他开发语言

如何使用Erlang等功能语言中的缓存数据?

最近我一直在阅读有关功能语言的内容。来自10多年的OO开发,我发现很难让我的头脑在全球范围内可以指出纯功能方法(即同样的方法调用相同的参数也是一样的事情)在通常(在OO程序中)我需要缓存数据的问题。 我们只是承认,程序中可能需要一个不是不可变的(即缓存)的actor。我刚刚看到一个 Joe Armstrong在infoq上的演示,他似乎很教条在这方面! 我们只承认查找数据可能很昂贵(因 ..
发布时间:2017-08-27 11:51:17 其他开发语言

功能语言(Erlang,F#,Haskell,Scala)

功能语言适用于Web应用程序开发? 2)功能语言是否适合商业/ ERP / CRM 类型的应用程序? 解决方案 您所描述的类型的功能语言是通用编程语言,它们用于各种各样的事情,包括网络应用和商业应用。 (我使用Haskell)。 Haskell是否适用于Web应用程序? 在Haskell建立商业网络应用 正如gabor所暗示的,最终归结于图书馆。 Scala有一个web ..
发布时间:2017-08-27 11:47:29 其他开发语言

Erlang真的是功能性语言吗?

我听说Erlang是一个功能语言,但很容易从函数调用数据库或非副作用的免费代码,命令很容易通过使用“,”之间的逗号排序,就像Ruby或另一种语言,那么Erlang的“功能”部分在哪里? 解决方案 中心思想是每个进程都是一个功能程序通过输入消息流。功能程序的结果是向其他人发送消息的输出流。从这个角度来看,Erlang是一个相当干净的功能语言;数据结构没有破坏性的更新(如Lisp和大多数Sch ..
发布时间:2017-08-27 11:47:17 其他开发语言

你为什么决定“反对”使用Erlang?

你实际上是“试过”(意思是编程,不只是读一篇文章)Erlang,并决定反对一个项目?如果是这样,为什么?另外,如果你选择回到你的旧语言,或使用另一种功能性语言,如F#,Haskell,Clojure,Scala,或者其他的东西,那么这也算一下,并说明原因。 解决方案 为了Haskell的惊人类型系统的简单美德,我从Erlang回到了Haskell的个人项目。 Erlang为您提供了大量工具 ..

是Erlang“单一分配”不同于Haskell“不变值”

在“编程Erlang”书中,这种语言使用“单个赋值”变量。在其他有关函数式编程语言的文章中,我总是读取“不可变价值”。 单词“单一赋值”是否意味着与“不可变价值”不同? p> 解决方案 在erlang中,变量可以是绑定的还是非绑定的。您只能将值分配给未绑定的变量。这就是单个作业来自哪里,因为一旦变量被绑定,你就不能再为它赋值了。所以在erlang中,即使 0 和 1 是不可变值,也不 ..
发布时间:2017-08-27 11:36:57 其他开发语言

在Erlang中实际使用不正确的列表(可能是所有功能语言)

我一直在阅读Erlang和OTP的行动,并绊倒了一个关于不当列表的问题。 不要试图以这种方式使用列表单元格 即使你认为你有一个 聪明的想法 - 这是错误的, 混淆了人类和程序 分析工具。也就是说, 有一个或两个有效用途来创建 不正确的列表,但它们被认为是 高级编程技术, 超出了本书的范围。 p> 超出本书的范围?这对于Stackoverflow来说一定是完美的! ..
发布时间:2017-08-27 11:36:34 其他开发语言

功能语言(特别是Erlang)如何/为什么规模很大?

我一直在观察功能编程语言和功能的可见性一段时间。我看着他们,没有看到上诉的理由。 然后,最近我参加了Kevin Smith的“Erlang基础”演讲,在 Codemash 。 我喜欢演示文稿,并了解到功能编程的许多属性使得更容易避免线程/并发问题。我明白缺少状态和可变性使得多线程不可能改变相同的数据,但凯文说(如果我理解正确),所有的通信都是通过消息进行的,并且同步处理消息(再次避免并 ..

在Erlang中获取生成函数的结果

我目前的目标是写Erlang代码来计算N个元素的列表,其中每个元素是它的“索引”的阶乘(因此,对于N = 10,我想得到[1 !, 2! 3 !, ...,10!])。更重要的是,我希望在一个单独的过程中计算每一个元素(我知道这样做效率很低,但是我预计会实现它,并将其效率与其他方法进行比较)。 在我的代码中,我想使用一个函数作为给定N的“循环”,N,N-1,N-2 ...产生一个计算阶乘(N ..

什么是“pin”操作符为和,并且Elixir变量是否可变?

目前正在试图理解Elixir中的“^”操作符。 从网站: 当没有兴趣重新绑定 a变量时,可以使用pin运算符^而是在 匹配之前匹配其值: 源 - http://elixir-lang.org/getting_started/4.html 考虑到这一点,您可以附加一个新的值到如下符号: iex> x = 1#输出“1” iex> x = 2#输出“2” ..

当前的功能反应编程实现的现状是什么?

我试图在Haskell中可视化一些简单的自动物理系统(如摆锤,机器人手臂等)。 通常这些系统可以用等式来描述,如 df / dt = c * f(t)+ u(t) / code> 其中 u(t)表示某种“智能控制”。这些系统看起来非常适合功能反应编程范例。 所以我拿到了Paul Hudak的书“Haskell表达学派”, 和发现域名特定语言“功能动画语言”(功能动画语言)实际 ..

功能编程:什么是“不当列表”?

有人可以解释什么是“不正确的列表”? 注意:感谢所有!所有你们摇滚! 解决方案 我认为@ Vijay的答案是迄今为止最好的答案,我只是打算Erlangify它。 / p> Erlang中的对(cons单元格)写为 [Head | Tail] ,而nil写为 [] 。对于头尾是什么而不是限制,但是如果您使用尾部链接更多的cons单元格,您将获得列表。如果最终的尾巴是 [] ,那么 ..
发布时间:2017-08-27 11:27:09 其他开发语言

如何在es6 / javascript中阅读功能组合?

背景 组合将两个函数合在一起,形成第三个函数,功能是另一个的输入。 无论我看多少,我都在努力阅读它。特别是为什么 compose() return => (a)=> 捕获本地范围内的 121.2121212 。另外我也努力争取最终的fn f(g(a))将会看到所有的值/ fn存在使用变量。 问题:有没有人有任何技术或图表来快速阅读这样的示例;我如何进行智能调试并按照功能流程? ..