问题标签 [kind-projector]

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 投票
5 回答
2156 浏览

scala - 是否可以在 Scala 中“咖喱”更高种类的类型?

假设我有一个带有两个类型参数的特征,例如

和另一个具有更高类型参数的特征,例如

我希望能够将一个固定值替换为 的类型参数之一Qux,以便它可以用于参数化Turkle

这是一个示例(在 Scala 中没有意义的代码!):

任何人有任何想法如何实现这种效果?

0 投票
1 回答
319 浏览

scala - Scalaz Functor typeclass 特殊符号

最近我遇到了这个Scalaz代码(例如https://github.com/scalaz/scalaz/blob/series/7.2.x/core/src/main/scala/scalaz/Functor.scala):

“函子”内的类型表达式的含义/目的是什么,即 λ[α => F[G[α]]]?到目前为止,我只看到了类型别名,例如http://like-a-boss.net/2014/09/27/type-lambda-in-scala.html

此外,Intellij Idea (14.0.3) 无法解析符号。Scalaz 在 Intellij 外部由 sbt 构建,然后导入 Intellij。知道会是什么情况吗?

0 投票
1 回答
176 浏览

scalaz - λ[α =>F] 是什么意思?

我最近在学习 Scalaz。我想知道 λ[α =>F] 是如何工作的?

我可以理解 λ 在这里表示某种类型,但我找不到它的定义,想知道上面的代码是如何工作的。

0 投票
1 回答
415 浏览

scala - 扩展副产品的自然转化

我有

~>在哪里cats.NaturalTransformation

我能够构建一个

使用kind-projector语法以提高可读性

这就是我的做法

这可行,尽管我愿意接受建议,因为它看起来并不漂亮。

现在,如果我有

我也应该能够构建一个

这就是我卡住的地方。我尝试ExtendRight从 shapeless 使用,但我无法让它工作。这是我的尝试:

}

但是编译器找不到ExtendRight参数的隐含证据。

这是一个可以玩的 MWE

0 投票
2 回答
277 浏览

scala - 如何将这种类型的 lambda 转换为 Kind-Projector 语法?

给定类型参数F[_]以及A[_]如何将以下类型 lambda 转换为更令人愉悦的 Kind-Projector 语法?

({type λ[α] = F[A[α]]})#λ

我会想象它会像F[A[?_]],但编译器抱怨在这种情况下需要类型参数。

0 投票
1 回答
90 浏览

scala - 为什么 Functor[A => ?] 不能在 Scala 2.11.7 中编译?

我正在关注Michael Pilquist 对 Functors 的出色介绍,而我的 Scala 2.11.7 repl 无法编译(解释?)以下行。

Scala是[X => ?]合法的吗?

我看到他正在文件顶部导入他自己的 simulacrum 项目,但我无法确定它是否相关。

0 投票
1 回答
116 浏览

scala - 了解类型投影

取自typelevel/kind-projector,有什么区别:

?

它们是等价的吗?

0 投票
1 回答
83 浏览

scala - Scala 无法在 scalaz 或猫中拉皮条 NaturalTransformation

由于某种原因,以下无法正常工作

test当我在自然变换上调用该方法时。Intellij 将其识别为扩展函数,但编译给出value test is not a member of cats.~>. 使用 scalaz NaturalTransformation 时也会发生同样的情况。我可以做些什么来帮助编译器识别扩展名吗?

Scala 版本是 2.11.8

一个失败的例子:

(上面使用了种类投影仪插件,但对于 lambdas 类型或单个参数更高种类的类型同样失败)

0 投票
1 回答
725 浏览

scala - scala通用函数`未找到:类型?`

当我使用 scala 创建这样的函数时,它告诉我not found: type ?

有人可以告诉我如何解决这个问题吗?

0 投票
2 回答
1020 浏览

intellij-idea - 带有种类投影仪插件的 IntelliJ 上的猫

我正在探索 IntelliJ 中的 Cats,但尽管 IntelliJ Scala 插件支持Kind Projector 插件,但 IntelliJ 无法识别插件的类型 lambda 表示法 ( λ)。启用此功能有诀窍吗?在运行代码检查后,我没有看到 Kind Projector 列出,尽管 Kind Projector 检查选项可用并在首选项中启用。我的 IntelliJ 版本是 2016.2.2,Scala 插件版本是 2016.2.1。