functional-programming相关内容

MATLAB中的地图功能?

我对MATLAB没有Map函数感到有点惊讶,所以我自己一起砍了一个,因为这是我不能没有的东西。那里有更好的版本吗? 有没有一个标准的MATLAB函数式编程库? function results = map(f,list) %为什么MATLAB没有Map函数? results = zeros(1,length(list)); for k = 1:length(list) result ..
发布时间:2018-04-18 15:07:10 其他开发

功能编程和非功能编程

在函数式编程中,什么是函数式编程,为什么?和/ xor我想在哪里使用它,而不是非函数式编程,我是否正确地认为C是一种非函数式编程语言? 解决方案 功能语言的一个关键特征是一流功能的概念。我们的想法是,您可以将函数作为参数传递给其他函数,并将它们作为值返回。 函数式编程涉及编写不会改变状态的代码。这样做的主要原因是,连续调用函数将产生相同的结果。你可以用任何支持一流函数的语言编写功能代码,但 ..
发布时间:2018-04-18 15:06:56 其他开发

什么是欣德利米尔纳?

我遇到了这个术语 Hindley-Milner ,我不确定是否掌握了它的含义。 我已阅读以下帖子: Steve Yegge - 动态语言反击 Steve Yegge - 匹诺曹问题 > Daniel Spiewak - 什么是欣德利米尔纳? (为什么它很酷?) 但是这个词在维基百科里没有单独的条目,一个简明的解释。 注意 - 一个 now now 这是什么? ..

在函数式编程中,什么是函子?

在阅读关于函数式编程的各种文章时,我碰到过几次'函子',但作者通常假设读者已经理解了这个术语。环顾网络提供了过多的技术性描述(请参阅维基百科文章)或难以置信的模糊描述(请参阅 ocaml-tutorial网站上有关Functors的部分)。 有人可以好好定义这个术语,解释它的用法,或者提供一个关于如何创建和使用Functors的例子? 编辑:虽然我对这个术语背后的理论很感兴趣,但我对这 ..
发布时间:2018-04-18 15:06:48 其他开发

滥用代数数据类型的代数 - 为什么这会起作用?

代数数据类型的“代数”表达式对于具有数学背景的人来说看起来非常具有启发性。让我试着解释我的意思。 定义了基本类型 产品• 联盟 + 单身 X 单位 1 并使用简写X²用于 X•X X + X 等,我们可以定义代数表达式,例如c>和 2X 链接列表 数据List a = Nil |缺点a(列表a)↔ L = 1 + X•L 和二叉树: 数据树a =无|分支a ..

尾递归函数在Ocaml中查找树的深度

我有一个类型为的树,定义如下: type'一棵树='a |的叶子'a *'树*'树的节点;; 我有一个函数来查找树的深度如下所示: let rec depth =函数 |叶x - > 0 |节点(_,左,右) - > 1 +(最大(深度左)(深度右)) ;; 这个函数不是尾递归的。有没有办法让我用尾递归的方式编写这个函数? 解决 ..
发布时间:2018-04-18 15:06:31 其他开发

使用Either在Scala代码中处理故障

选项 monad是处理Scala中的某些或某些事物的绝妙表达方式。但是如果在“什么都没有”的情况下需要记录消息呢?根据Scala API文档, 这两种类型通常用作scala的 替代方案。其中Left 表示失败(按惯例)和 右表示与Some类似。 然而,我没有找到运气使用Either的最佳实践或涉及Either的良好实际示例来处理失败。最后,我为自己的项目提出了以下代码: ..
发布时间:2018-04-18 15:06:26 其他开发

为什么Python不适合函数式编程?

我一直认为可以用Python完成函数式编程。因此,我很惊讶Python没有在这个问题,当提到时,它通常不是很积极。然而,没有给出很多理由(缺少模式匹配和代数数据类型)。所以我的问题是:为什么Python不是很适合函数式编程?是否有比缺少模式匹配和代数数据类型更多的原因?或者这些概念对函数式编程如此重要,以至于不支持它们的语言只能被归类为二次函数式编程语言? (请记住,我在函数式编程方面的经验是相当 ..
发布时间:2018-04-18 15:06:23 Python

为什么java.util.Collection没有实现新的Stream接口?

我花了一些时间开始研究关于流和lambdas的java-8嗡嗡声。让我感到意外的是,你不能直接应用Stream操作,如 .map(), .filter()一个 java.util.Collection 。是否有一个技术原因,为什么 java.util.Collection 接口没有用这些Stream操作的 默认实现扩展? 使用Google搜索一下,我看到很多人沿着以下模式编码的例子: ..
发布时间:2018-04-18 15:06:20 Java开发

RxJS Promise构图(传递数据)

我是Rx品牌的新成员,并且发现很难找到有关撰写承诺的文档,以便将第一个承诺中的数据传递到第二个承诺中,等等。这里有三个非常基本的承诺,对数据的计算并不重要,只需要使用前一个承诺中的数据就可以完成异步操作。 const p1 =()=> Promise.resolve(1); const p2 = x => {const val = x + 1;返回Promise.resolve(val ..
发布时间:2018-04-18 15:06:17 前端开发

你如何在Haskell中表示图形?

使用代数数据类型在haskell中表示树或列表很容易。但是,你将如何去印刷代表图表?看来你需要有指针。我猜你可能有这样的东西: $ b $ type Nodetag = String 类型Neighbors = [Nodetag] 数据节点a =节点a节点标签邻居 这样可行。然而它感觉有点解耦;结构中的不同节点之间的链接并不像真正的“感觉”那样与列表中当前的前一个元素和下 ..

过程式编程和函数式编程有什么区别?

我已阅读程序性编程和函数式编程,但我仍然有点困惑。有人可以将它归结为核心吗? 解决方案 功能语言(理想情况下)允许您编写数学函数,函数需要 n 参数并返回一个值。如果程序执行完毕,这个函数会根据需要进行逻辑评估。 另一方面,过程语言执行一系列顺序步骤。 (可以将顺序逻辑转换为功能逻辑,称为延续传球风格)。 因此,一个纯函数式程序总是会为输入产生相同的值,而评估的顺序并不明确;这 ..

什么是参照透明度?

术语参考透明度是什么意思?我听说它被描述为“它意味着你可以用等号代替等于”,但这似乎是一个不充分的解释。 解决方案 术语“参考透明度”来自分析哲学,它是分析自然语言结构的哲学分支,基于逻辑和数学方法的陈述和论据。换句话说,它是计算机科学以外最接近我们所称的编程语言语义的主题。哲学家奎因负责启动参照透明度的概念,但这也是隐含的方法伯特兰罗素和阿尔弗雷德怀特黑德。 “参照透明度”的核心是一个非常 ..

java lambda返回一个lambda

我试图在功能性编程的新jdk8领域中做一些似乎相对基本的事情,但无法实现它。我有这个工作代码: import java.util。*; import java.util.concurrent。*; import java.util.stream。*; public class so1 { public static void main(){ List ..
发布时间:2018-04-18 15:05:59 Java开发

我如何在JavaScript函数调用中预先设置参数? (部分功能应用)

我试图编写一个JavaScript函数,它将返回其第一个参数(函数)及其所有参数的其余参数作为该函数的预设参数。 : function out(a,b){ document.write(a +“”+ b); 函数setter(...){...} setter(out,“hello”)(“world”); setter(out,“hello”,“world”)(); ..
发布时间:2018-04-18 15:05:48 前端开发

函子在haskell中如何工作?

我试图学习Haskell,并且我通过了所有的基础知识。但是现在我陷入困境,试图让我的脑袋绕过仿函数。 我读过“一个仿函数将一个类别转换为另一个类别”。这意味着什么? 我知道需要问很多问题,但是任何人都可以给我一个纯英文的函数说明或者简单用例? 解决方案 模糊解释是 Functor 是某种容器和一个相关的函数 fmap ,允许你改变包含的内容,给定一个函数来转换包含的内容。 ..
发布时间:2018-04-18 15:05:46 其他开发

斯卡拉咖喱与部分应用的功能

我意识到这里有几个有关 什么 的问题,并且部分应用了功能,但我在问他们有什么不同。作为一个简单的例子,这里是一个用于查找偶数的curry函数: def filter(xs:List [Int],p如果(xs.isEmpty)xs else if(p(xs.head))xs.head :: filter(xs.tail,p):Int => Boolean):List [Int] = ..
发布时间:2018-04-18 15:05:42 其他开发

无状态编程的优点?

我最近一直在学习函数式编程(特别是Haskell,但我也经历了关于Lisp和Erlang的教程)。虽然我发现这些概念非常有启发性,但我仍然没有看到“无副作用”概念的实际方面。它的实际优势是什么?我试图用功能思维来思考,但是有些情况看起来过于复杂,没有以简单的方式保存状态的能力(我认为Haskell的monads不容易)。 是否值得继续深入学习Haskell(或另一种纯粹的函数式语言)?功能性 ..
发布时间:2018-04-18 15:05:40 其他开发