在 Haskell 中研究多变量函数时,我偶然发现了以下 SO 问题: 如何创建多变量 haskell function? Haskell、多变量 function 和类型推断并认为我会通过实现一个 function 来尝试一下,它接受可变数量的字符串并将它们连接/合并成一个字符串:{-# LA ...
在 Haskell 中研究多变量函数时,我偶然发现了以下 SO 问题: 如何创建多变量 haskell function? Haskell、多变量 function 和类型推断并认为我会通过实现一个 function 来尝试一下,它接受可变数量的字符串并将它们连接/合并成一个字符串:{-# LA ...
我正在尝试使用类创建一个Haskell函数,以使此函数能够处理不同数量的参数。 当我用ghci尝试这个函数时,我得到以下结果: 我不明白我的错误在哪里以及为什么我的polyvariadic函数不能使用超过2个参数。 你知道我的错误来自哪里吗? 以及如何使我的函数使用任意数 ...
我正在尝试在Haskell中实现Pascal风格的write过程作为多变量函数。 这是具有单态结果类型(在这种情况下为IO )的简化版本,可以正常工作: {-# LANGUAGE FlexibleInstances #-} {-# LANGUAGE MultiParamTypeClasses ...
我正在尝试在Haskell中创建一个polyvariadic函数,我用这个答案来创建一个基本函数。 这是函数的代码: 但问题是:在没有任何参数的情况下调用函数时,它不起作用。 例如,我希望能够编写sumOf :: Integer并使此函数返回0 。 我该怎么做? ...
我是中级计划者,但只有Haskell初学者。 这是我的问题: 假设您有一个关联的二进制运算,说(>>=) 。 是否有一个多元函数p使得p (>>=) hgfe = h >>= g >>= f >>= e ? 我问这个问题 ...
所以我输入了 我得到 事实是, m和m->a不能相等! 为什么给我冲突? (此外,关于如何制作多变量mconcat的任何技巧(采用printf库的样式)? ...
在寻找多变量函数示例时,我找到了这个资源: StackOverflow:如何创建多变量 haskell 函数? ,并且有一个这样的答案片段: 然后我们可以使用: 我试着稍微改变它,只是出于好奇,因为乍一看我觉得它很棘手,我进入了这个: 我只是将Integer更改为Int并将instan ...
我正在尝试解析诸如09/10/2015 17:20:52日期: 我有一种预感,某种zipWithN可以概括listUncurry 。 也许某种foldl ($) ? 作为一个附带的问题(出于好奇),可否parsec用parsec解析器? ...
我正在尝试编写具有任意数量参数的函数。 这些参数可以是Int或String。 而且我对整数有问题。 由于某种原因(我不理解),值1成为歧义的来源。 如何处理此错误,错误的根源是什么? 在这种情况下,我有错误 编辑 感谢user5402指出了ghci和ghc之间的区别 ...
这是一个简单的多元函数,以Text.Printf.printf建模: 它在ghci中工作正常,没有任何类型注释: 但是,当我删除SumArg a约束时… …它失败: 怎么会? (老实说,我对第一个版本不需要在其参数上使用类型注释的事实感到困惑。) ...
这个答案演示了一个多变量函数,它总结了它的参数: 我为Num所有成员创建了这个函数的通用版本: 但是这仅适用于mySum (1::Int) (3::Int) (2::Int) :: Int等调用。 如果没有参数的类型说明符,我会收到此错误: 使用`mySum'时没有( ...
我正在与您分享一个使用可变参数函数类的问题。 它是以下代码中显示的Thread类。 它是std :: thread的包装,以使用功能模式。 我想在将Thread类继承到一个新的类Functor中使用此函数的多态性,但是gcc返回以下错误: 我不真正理解错误,因为纯虚拟函数在派 ...
假设我想在Go中为切片创建等效的JavaScript Array.splice函数。 我有以下代码: 此示例将起作用,但仅适用于int类型的参数。 我想让它变得通用,我知道我应该给variadic参数elements类型interface{} ,但是如何从函数内部创建一个具有该接口类 ...
今天我玩了使用类型类来归纳地构造任何arity谓词的函数,将任何类型的任意组合作为输入,返回相同类型的其他谓词但应用了一些基本操作。 例如 会返回一个谓词,对于大于2的偶数,它的计算结果为真 会返回= 一切都很好,让这部分工作,但它提出了一个问题,如果我想将两个谓词的连接 ...
我想定义一个记录器功能,比如 这很好。 现在我想用printf格式化提供的String,就像这样 大! 由于我经常使用这种模式,因此我想将printf纳入记录器功能: 不幸的是,这失败了 GHC推断myPrintf :: String -> IO () ...
如果我想编写一个方法,它采用可变数量的“TDerived”,其中TDerived是类“Base”的任何子类,有没有办法做到这一点? 以下代码仅适用于单个特定的指定子类: 即如果我有 那我就做不到了 因为我得到“最好的重载匹配......有一些无效的论点”。 无 ...
Haskell的类型安全性仅对于依赖类型的语言是首屈一指的 。 但是Text.Printf有一些深刻的魔力似乎相当类型。 这背后的深层魔力是什么? Text.Printf.printf函数如何采用这样的可变参数? 用于允许Haskell中的可变参数的一般技术是什么,它是如何工作 ...
下面的代码是尝试编写一个如下所示的可变函数: bind_variadic mx f = mx >>= f bind_variadic mx my f = do { x <- mx; y <- my; fxy } 如果将“其余的绑定”表示为变量k ...
Is it possible to have a function that takes a foreign function call where some of the foreign function's arguments are CString and return a functio ...
我目前定义任意数量的 function 的方法如下,A 是累加器,E 是输入参数类型,R 是结果类型。 但是 foo 的最小数量是 1。 foo 的最小值仍然是 A -> E -> R,doFoo 是 E -> R。 我也想要doFoo::R。 如何? ...