我一直在阅读文章 Origami Programming by Jeremy Gibbons,我很难弄清楚展开和展开函数如何为玫瑰树工作. 在论文中,Rose Tree类型定义为: data Rose α = Node …
标签:functional-programming
在scalaz中组合各州的标准方法
考虑一下,你有Nel of states(Nel代表NonEmptyList,更短的事情), 并且你想要使用一些函数f将状态组合到一个状态,用于状态的左侧部分和 g为州的正确部分. 所以你想要这样的东西: def fol…
使用多态ADT类型检查的错误Scala代码
我正在做一些练习来更好地理解IO monads(在 Functional Programming in Scala之后),并且设法编写了一些错误的代码,这些代码以某种方式通过了编译并让我头疼. 在下面的示例中,我正在编写…
函数式编程 – 在命令式语言中应用的函数式编程精神的现实例子?
大多数人都说即使是函数式编程也不太可能让你找到工作,你可以通过学习它成为一个更好的命令式/ OO程序员. 对我来说,主要是关于编写没有副作用的“非成员非朋友”功能.但我无法想出更多能够在命令式语言中有效应用函数式编程的例…
clojure – 面向价值的编程语言
在这场有争议的 Value of Values讲话中,Rich讨论了面向位置编程(PLOP),它将数据改变到位,让我们将所有不可变的语言或值作为面向值的编程(VLOP)调用一会儿.除了Clojure之外,还有哪些语言是V…
scala – 在Stream算法上折叠的懒惰解决方案(从结果中获取K个元素应仅消耗来自输入的Q元素)
一些同事和我提出了一个有趣的问题并且正在辩论,似乎无法将我们的头脑包裹在一个懒惰的解决方案中.有吗? 这是在尝试学习函数式编程时出现的,我们想到了在惰性解决方案方面对简单问题的扩展 我将首先介绍非延迟问题(我们发现了一个…
函数式编程 – SML / NJ的新功能.从列表列表中添加数字
Define a function which computes the sum of all the integers in a given list of lists of integers. No ‘if-then…
将这个monadic计数器从Haskell翻译成Scala
我已经定义了一个 monadic counter in Haskell,我试图将其转换为Scala,到目前为止失败了.简而言之,问题是将计数器实现为状态monad,它从环境中读取计数器增量常量,并记录计数器的历史记录(其…
链式scala选项
我有配置器支持链式样式,如下所示: val configurer = Configurer("init").propA("a").propB(3).propC("bla-bla") 这是我无法改变的第三方库. 我有我的 …
scala – K / Kestrel Combinator for monads?
implicit class KComb[A](a: A) { def K(f: A => Any): A = { f(a); a } } 鉴于K组合子的这种实现,我们可以在应用副作用的同时对值进行链接方法调用,而…
scala – 为所有可映射类型定义提升
为了我自己的好奇心,我试图为定义地图[B](f:A => B)的所有类型定义 Haskell的liftM:M [A],但是我自己无法实现*.我希望能够更深入了解 Scala类型系统的人能够向我解释它. 首先,我尝试…
scala – 在spark中组合/加入ID行
给定一个充满ID行的文件,例如 i1, i2, i5 i3, i4 i2, i6, i7 i4, i8 i9, i3 你会如何通过链接相同的ID加入他们?因此,对于上面的示例,行1通过i2链接到行3,行2分别通过i4和i…