polyvariadic相关内容

Haskell printf 如何工作?

Haskell 的类型安全性仅次于依赖类型的语言to none.但是 Text 有一些很深的魔法.Printf 看起来很奇怪. >printf "%d\n" 33>printf "%s %f %d" "foo" 3.3 3富 3.3 3 这背后的深层魔法是什么?Text.Printf.printf 函数如何接受这样的可变参数? 在 Haskell 中允许可变参数的通用技术是什么,它是如何 ..
发布时间:2021-12-14 12:00:28 其他开发

如何创建多变量haskell函数?

我需要一个函数,它接受任意数量的参数(所有相同类型),用它们做一些事情,然后返回一个结果.在我的特定情况下,参数列表是不切实际的. 当我查看 haskell 库时,我看到函数 printf(来自模块 Text.Printf)使用了类似的技巧.不幸的是,我无法通过查看来源来理解这种魔力. 有人可以解释如何实现这一点,或者至少可以在一些网页/论文/任何我可以找到对此进行很好描述的地方吗? ..

帮助声明可变数目的参数

高手们, 我必须为可以有多个节点的树定义多态数据类型。每个节点可以有任意数量的子节点和一个vlaue。这种类型将始终至少有一个节点。我是Haskell的新手,所以我问如何声明节点具有可变数量的参数。 这是我现在拥有的。这是一棵树,可以有一个节点或一个节点值为(a)和两个树孩子。我希望他们成为任何数量的树孩子,而不是两个树孩子。 (Analoog as java可变参数数量“arg .. ..
发布时间:2018-06-05 11:38:05 其他开发

Haskell“应用”?

可能存在重复: 为什么在haskell中不允许这样的函数定义? 我是Haskell世界的新手,从Lisp移植过来。我试图调整到Haskell的根本不同的世界观,我发现很多新事物和令人兴奋的事情之一就是类型系统。作为一个Lisper,我想我会尝试在Haskell中实现一个在Lisp世界中非常重要的函数: apply 。对于那些不知道的人来说,应用程序需要一个函数和一个参数列表,然后调用这 ..
发布时间:2018-06-04 16:08:56 其他开发

Haskell中的多变量函数

在阅读这篇关于在Haskell中编写多变量函数的文章后,我试图写一些我自己的。 起初,我想我会试图推广它 - 所以我可以有一个函数,通过折叠参数返回可变参数函数。 / b> { - #选项-fglasgow-exts# - } 模块折叠其中 class折叠ar | r - > a where collapse ::(a - > a - > a) - > a - > r ..
发布时间:2018-06-04 15:52:19 其他开发

Haskell printf如何工作?

Haskell的类型安全性是仅次于依赖类型的语言的第二个 to none 。但是,文字有一些深刻的魔力。 > printf“%d \\\ ”3 3 > printf“%s%f%d”“foo”3.3 3 foo 3.3 3 这背后有什么深奥的魔力? Text.Printf.printf 函数如何使用像这样的可变参数? 什么是常规技术用于允许Haskel ..
发布时间:2018-06-04 14:36:13 其他开发

如何创建一个polyvariadic haskell函数?

我需要一个接受任意数量参数(全部为相同类型)的函数,对它们做一些事情并在事后给出结果。在我的具体情况下,参数列表是不切实际的。 当我查看haskell库时,我发现函数 printf (来自模块 Text.Printf )使用类似的技巧。不幸的是,我无法通过查看源代码来理解这种魔法。 有人可以解释如何实现这一点,或者至少是某些网页/纸张/找到一个很好的描述? 动机: 这真的很 ..

C ++多态性与可变函数参数

我与你分享一个问题,我得到了一个使用可变函数参数的类。它是下面代码中显示的Thread类。它是一个std :: thread的包装,以使用函数模式。 我想使用多态与这个函数继承Thread类到一个新类, Functor,但gcc返回以下错误: #include #include using namespace std; te ..
发布时间:2016-10-25 14:00:12 C/C++开发