问题标签 [polymorphic-functions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
function - Haskell 中的多态类型
我遇到了这个功能
我想我会尝试自己定义多态类型以理解这个概念。
我的想法如下:
该函数有 3 个参数,所以我们有t1 -> t2 -> t3 -> T
p在 if 条件中使用,因此它必须返回 abool,因此t1 = a -> Boolf也是相同的类型,p因为它在 else 块中作为参数传递,因此t2 = a -> Boolx 在 if 条件中使用,因此它必须返回一个布尔值,因此
t1 = a -> Bool
但是当我检查 ghci 中的类型时,他们给我的类型是
iter :: (t -> Bool) -> (t -> t) -> t -> t
有人可以解释一下这背后的原因。
谢谢
function - 多态类型的函数作为haskell中的参数?
我试图定义以下函数的多态类型:
我的想法如下:
的第一个参数
flip,f接受两个参数,所以(t1 -> t2 -> t3), 的第二个参数由于函数内部的参数
flip而x具有类型。t1t1f的第三个参数
flip,由于函数内部的参数y而具有类型。t3t3f我不知道整体回报的多态类型。
但是当我检查 ghci 中的类型时,我得到:
有人可以帮忙看看这个例子是什么吗?
谢谢
scala - 将搜索项和运算符传递给 Scala 多态函数
我有这个多态函数:
从 Scala 中的函数式编程中,我想传递运算符 < 是否等于特定值 >。我该怎么做?我目前有这个:
这里的操作符是 < == "def">。Scala 不喜欢这样,但我似乎无法找到一种方法来传递该值,运算符对。有什么东西告诉我可以在这里使用柯里化吗?
haskell - Haskell 多态函数使用 Either Left Right
我是 Haskell 的新手。我有以下类型:
我想创建一个函数,我将使用一个函数在 2EvalResult种类型上使用它,并相应地得到一个EvalResult。如果我得到 2 个值类型,我想对它们使用函数(例如 sum/sub),如果我得到 EvalError,我想返回 EvalError。
我做了什么:
错误:
postgresql - port Oracle decode() using variadic, anyarray, and anyelement
I need to port from Oracle a stored procedure that uses decode() extensively. That is, I can't use series of CASE WHEN expr THEN expr [...] ELSE as the guide suggests.
I wanted to create a variadic function, but here's the problem: in Oracle the function can accept any number of key-value pairs and the type of the key not necessarily matches the type of the value:
I tried to use anyarray:
But this only works when all the arguments are of the same type:
If the desired syntax is not possible please advise another way of passing the expr, the set of pairs, and the default value while keeping their positions same as in Oracle.
scala - 如何将泛型方法转换为泛型函数
问题
如何将定时方法转换为函数?
下面导致“错误:未找到:类型 T”
scala - 类型更高的 lambda
在Dotty中给出以下内容:
我想“简化”BaseCreate这样我可以Create像这样实现:
我试过了:
但是编译器抱怨:
这对我来说没有意义。什么是正确的语法,如果有的话?
PS:我不想再向BaseCreate. 尤其是F因为这意味着该类Domain.Create将需要final case class Create[F[_]]完全不是预期的解决方案。
scala - 为接受带有类型参数的方法的类型类定义构造函数?
我有一种情况,我所知道的解决方案都不是好的解决方案。我正在尝试定义一个类型类,如下例所示,其中它具有S必须实现另一个类型类(未显示)的抽象类型Valid[A]。感觉最简单的方法是创建一个apply构造函数,这将强制用户输入S并自动为sIsValid.
问题在于该函数changeType采用类型参数。尽管进行了一些谷歌搜索,但我还没有弄清楚如何为接受类型参数的函数编写类型注释(这可能是因为 Scala 似乎不允许带有类型参数的匿名函数)。我的方法在这里看起来是明智的吗?如果我可以为其提供类型注释,changeType那么类型类用户仍然可以将非匿名函数传递给apply构造函数,这似乎是一个最令人满意的解决方案。
感激地收到任何帮助/想法。
haskell - 我可以在 Haskell 中打印多态函数的类型,就像我将一个具体类型的实体传递给它一样吗?
这是一个具有 3 种类型的多态函数:
这里是一个非多态函数:
如果我们将前者应用于后者,我们会得到一个多态的 1 类型函数:
这意味着使用and(.)被“实例化”(我不确定这是正确的术语;作为 C++ 程序员,我会这样称呼它) ,因此应用的签名如下b === Charc === Int(.)digitToInt
我的问题是:有没有办法让这个签名打印在屏幕上,给定(.),digitToInt以及我想将前者应用于后者的“信息”?
对于有兴趣的人,这个问题早些时候作为这个问题的副本关闭了。