函数式编程是一种基于使用函数构建抽象,避免副作用和状态变化的编程范例。纯函数编程是线程安全的。
我正在尝试在 F# 中通过引用传递。在C#中,使用ref和out关键字非常容易,但在F#中似乎没那么简单。我刚刚读过这个:http://davefancher.com/2014/03/24/passing-
我正在使用以下值模拟 SQL 查询: rows = [(1, '2021/04', '商店 2', 341227.53), (2, '2021/05', '商店 2', 315447.24), (3, '2021/06', '商店 1' , 1845662.35), (4, '2021/04', '2号店',
关于 Monad Transformer Stack pipeline 中不同步骤的不同要求
我在之前的一个问题中接受的激光聚焦答案既令人费解又具有启发性,就在我重新打开我的 Real World Haskell (多好的一本书!)并决定额外阅读
我决定既然泛型已经被引入 Go,那么像 map/reduce 这样的东西应该是可能的。因此,我天真地尝试了一下,但得到了错误: ./prog.go:18:36:无法使用东西(
如何在不重复“DoTheNextThing();”的情况下完成此操作? 如果(做某事) 做一些事情(函数(){ DoTheNextThing(); }) 别的 做下一个…
根据tutorialspoint.com,Python是一种函数式编程语言。 “一些流行的函数式编程语言包括:Lisp、Python、Erlang、Haskell、Clojure 等。” ...
假设我有一个包含大量项目的列表, l = [ 1, 4, 6, 30, 2, ... ] 我想从该列表中获取项目数量,其中项目满足特定条件。我的第一个想法...
C++ 中的函数式编程,第 214 页,参考与 Haskell 的 Either 相同的预期 monad,内容如下 [...] 一旦您绑定的任何函数返回...
采用 MaybeT monad 转换器: newtype MaybeT m a = MaybeT { runMaybeT :: m (Maybe a) } 我没想到它会有不同的定义,因为 Maybe 只是一个带有 (opti...
这个表情 最大值([1]) + 1 给出 无法使用参数调用:“+”:(“1 | Null”,“1”)。 理由: - 期望类型:“Number”,但得到:“Null”。 |-- 来自:`数字` |- 来自:+...
使用 Kotlin 和 Arrow 构建函数结果集合,而不使用可变集合
我有一个棘手的问题。我有一个 Kotlin 函数,它接受三个数据集合,表示需要“删除”、“更新”或“添加”的项目。对于这三个数据中的每一个...
我可以使用 StateT/MaybeT/forever 来消除此 IO 操作中的显式递归吗?
我有一个这样的程序, 开始 :: [Q] -> R -> IO R 开始 qs = 修复 $ ecurse r -> 做 <- select qs (r', exit) <- askQ q r (if exit then return else recurse) r' that
我需要合并两个形状相同的数据数组。 我的工作代码是这样的: 从 'ramda' 导入 * as R 预期常量 = [ [ { “零数据”:假, ”
如果我想将函数名转换为字符串,我可以这样做: 稀疏(替代(平均值)) 这将返回: [1]“意思” 如果我想对函数列表执行此操作,该怎么做
在许多列表处理语言(以及其他语言)中,它们都有一个名为 curry 的函数,它可以做一些巧妙的事情。我的问题是为什么他们称之为咖喱?这个名字从哪里来...
我是函数式编程新手,我有一个任务来计算列表的部分和。 例如。 - psum [1,1,1,1,1]; val it = [1,2,3,4,5] : 整数列表 这是到目前为止我的代码。然而在功能上
为了在 a -> ReaderT r IO b 类型的函数中保持状态,我唯一的选择是将 IORef 放入闭包中吗?或者我可以以某种方式使用 StateT 吗?
假设我必须实现一个功能 f :: Foo -> ReaderT Bar IO Baz 我必须传递给消费者(即我将调用 c f) 其中 Foo/Bar/Baz 被强加为函数的使用者,并且
我创建了一个基于Bean属性动态构建Rest URI的方法,最初是必需的,然后我将其重构为函数式风格,这是我第一次做函数式编程...
如何重构结构体以在 Swift 中使用协议和闭包(学习目的)
我想改变的主要只是Set结构,如果下面的一些代码可能获得类型推断,那完全没问题,但整体emptySet和useSet必须保持不变。 结构S...
为什么`let fmap f = id >=> (好吧<< f)` work?
问如何在F#中使用fish(>=>、Kleisli组合)运算符实现map?几个小时前,'kaefer 的回答让我大吃一惊: 让 fmap f = id >=> (好的 << f) It is