Haskell 中的行多态性:使用“转换”编写 Forth DSL 时遇到问题
我受到最近的 Haskell 博客活动1的启发,尝试在 Haskell 中编写类似 Forth 的 DSL。我采取的方法既简单又令人困惑: {-# LANGUAGE TypeOperators, Ran…
这是 Haskell 高阶函数吗?
我想知道shift是否是高阶函数。 chartoInt :: Char -> Int chartoInt c = ord c Inttochar :: Int -> Char Inttochar n = chr n shift :: Int -> Char…
需要 Haskell 高阶函数帮助
这段代码有什么问题? addNum :: Int->Int-> Int addNum a b = a+b divideby :: ( Int->Int -> Int ) -> Int ->float divideby f z = f /z 我想将 add…
Lambda演算表达式实现函数应用
我刚刚找到了以下 lambda 演算表达式: (((λ f . (λ x . (f x))) (λ a . a)) (λ b . b)) 因此,这是一个接受参数 f 并返回另一个函数的函数,该函…
选择/映射 Powershell 数组的每个项目到新数组
我在 Powershell 中有一个文件名数组,我想为每个文件名添加一个路径并在新数组中获取结果。 在 C# 中,我可以使用 Linq 来完成此操作... var files =…
以 pointfree 风格编写函数的一般方案是什么?
我现在正在做20个中级Haskell练习,这是一个非常有趣的练习。它涉及实现类型类 Functor 和 Monad 的各种实例(以及将 Functor 和 Monad 作为参数的函…
将列表转换为元素映射 -> scala 中的列表(元素)
我有一个文档列表,其中文档的所有者是用户。 将此列表转换为用户到其拥有的文档列表的地图的最优雅的方法是什么? 因此,例如我有: "doc1" owned by…
Java MethodHandles 是否可以被视为与一等函数相同?
Java Method 类和 Java 7 MethodHandle 类均引用与方法关联的对象,但它们仍然很少使用,并且当需要将一个函数传递给另一个函数时,最好使用实现包含…
如何在 PHP 中使用 array_filter() 进行函数式编程?
假设我有一个标签数组 $all_tags = array('A', 'B', 'C'); ,并且我想使用 $_GET 变量创建一组 URL。 我希望链接为: 'A' 链接到 “index.php?x[]=B&x…
集合上的高阶函数是否保证按顺序执行?
在另一个问题中,用户建议编写如下代码: def list = ['a', 'b', 'c', 'd'] def i = 0; assert list.collect { [i++] } == [0, 1, 2, 3] 在其他语言中…
'地图'高阶 Haskell 函数
例如,我有一个列表: ["Hello", "Goodbye"] 并且我想在列表上使用map; 我之前已经成功使用过map: f = ("example" ++) 所以那么: map f ["Hello", …
使用 map、concat 替换 3 参数列表理解
我对列表理解有一些了解。我理解该表达式: [x * x | x <- [1..10]] should output [1,4,9,16,25,36,49,64,81,100] 并且该表达式的效果与以下相同: m…
JavaScript reduce 无法处理数学函数?
我正在尝试一项显而易见的任务: var maxVal = [ 1, 2, 3, 4, 5 ].reduce( Math.max, 0 ); 并得到: NaN 结果。为了使它工作,我必须这样创建一个匿名…
Scala中foldLeft和reduceLeft的区别
我已经了解了 foldLeft 和 reduceLeft 之间的基本区别 foldLeft: 必须传递初始值 reduceLeft: 首先采用 作为初始值的集合元素 如果集合为空, 会引发…