问题标签 [type-variables]

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.

0 投票
2 回答
579 浏览

haskell - 约束中的模棱两可的类型变量'blah'......如何解决?

我正在尝试在 Haskell 中编写一个简单的光线追踪器。我想定义一个表示各种可用表面的类型类,并使用一个函数来确定光线与它们相交的位置:

然而,这给了我错误:

(实际的代码更复杂,但我试图将它提炼成更简单的东西,同时保持我想要实现的要点)。

我该如何解决?或者,鉴于我来自标准的 OO 背景,我从根本上做错了什么?

0 投票
2 回答
196 浏览

haskell - 在 Haskell 中使用词法范围的类型变量解析错误

当我向 GHC 提交代码时

我收到以下错误:

你能帮我吗?

埃里克·麦考利

0 投票
3 回答
563 浏览

haskell - Free Pascal 是否有像 Haskell 这样的类型变量?

Haskell 允许您定义像三次这样的函数,它接受一个类型的元素a并返回重复三次的元素列表,对于任何数据类型a

Free Pascal 是否允许类型变量?如果没有,在 Free Pascal 中是否有另一种方法可以做到这一点?

0 投票
1 回答
340 浏览

haskell - GHCi 如何为类型变量选择名称?

使用交互式 GHC 解释器时,可以询问表达式的推断类型:

似乎它从签名中获取类型变量的名称,因为map它被定义

在前奏曲中。这很有意义!我的问题是:如果没有给出签名,如何选择类型变量名称?

一个例子是

它在哪里选择名称bb1. 很明显,必须进行重命名,但只需以a, b, ... 开头就可以了

相反,我发现它更具可读性。

0 投票
3 回答
369 浏览

haskell - Haskell:实现“随机”(又名歧义类型变量)

我正在阅读 LYAH,在第 9 章中,我发现了一个奇怪的问题。作者提供了一个实现“randoms”功能的例子:

好吧,这编译得很好。但是,如果我将第二行更改为:

此文件在加载时报告错误:

如果我将此行更改为:

然后这会很好,并且正如预期的那样,这将返回所有相同元素的列表。

我不解:米兰的版本和我的版本有什么不同?

感谢您的任何想法!

0 投票
1 回答
162 浏览

haskell - ScopedTypeVariables 无法使用嵌套的 where 子句?

这是一个非常人为的例子,但无论如何......这个类型检查:

和作品

GHCi> let foo0 = foo (Bar id) (\n -> [n, n*2])
GHCi> map (runFoo $ runBar foo0 4) [1..10]
[False,False,False,True,False,假,假,真,假,假]

但是如果我将明显的类型签名添加到本地函数judge中,

它失败了

等等。在 Haskell 98 中并不令人惊讶,但我认为ScopedTypeVariables应该允许编写这样的签名,但显然它没有。这是否有特定原因,是否有意使其不适用于嵌套where的 s,如果这出现在可比较的实际问题中,有什么解决方法?

0 投票
3 回答
577 浏览

java - 通配符和类型变量有什么区别?

考虑以下 Employee 类和一个名为 Manager 的子类-

在另一个类中,我定义了两个函数如下 -

我从 displayInfo() 和 displayInfo2() 得到相同的输出。

那么,考虑到这个例子,通配符和类型变量有什么区别呢?

0 投票
5 回答
2166 浏览

haskell - Haskell:a -> a 类型函数的示例,除了标识

我刚刚开始玩一点Haskell......我想写一个相同类型的身份函数。显然,不等同于它。那会是这样的,

myfunction :: a -> a

我想不出一个参数和返回类型相同并且几乎可以是任何东西的例子(这排除了使用 Haskell 的 Typeclasses 的可能性)。

0 投票
2 回答
4490 浏览

haskell - printf 和不明确类型变量的问题

我有一个有点模棱两可的类型变量问题。我喜欢haskell,但这确实是我仍然无法处理的。问题很简单,涉及到 Text.Printf 中的 printf。由于问题非常普遍,我将仅在一些示例代码中:

当然 printf 是进口的。然后编译器在 Num 和 PrintfArg 之间给出了一个明显的、模棱两可的类型变量错误。我只是不知道在哪里适合正确的类型签名。

0 投票
4 回答
7007 浏览

haskell - 什么是skolem?

哎呀!GHCI 在我的代码中发现了 Skolems!

这些是什么?他们对我的程序有什么要求?他们为什么要逃跑(忘恩负义的小家伙)?