问题标签 [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.
scala - 是否可以在 Scala 中“咖喱”更高种类的类型?
假设我有一个带有两个类型参数的特征,例如
和另一个具有更高类型参数的特征,例如
我希望能够将一个固定值替换为 的类型参数之一Qux
,以便它可以用于参数化Turkle
。
这是一个示例(在 Scala 中没有意义的代码!):
任何人有任何想法如何实现这种效果?
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。知道会是什么情况吗?
scalaz - λ[α =>F] 是什么意思?
我最近在学习 Scalaz。我想知道 λ[α =>F] 是如何工作的?
我可以理解 λ 在这里表示某种类型,但我找不到它的定义,想知道上面的代码是如何工作的。
scala - 扩展副产品的自然转化
我有
~>
在哪里cats.NaturalTransformation
。
我能够构建一个
使用kind-projector语法以提高可读性
这就是我的做法
这可行,尽管我愿意接受建议,因为它看起来并不漂亮。
现在,如果我有
我也应该能够构建一个
这就是我卡住的地方。我尝试ExtendRight
从 shapeless 使用,但我无法让它工作。这是我的尝试:
}
但是编译器找不到ExtendRight
参数的隐含证据。
这是一个可以玩的 MWE
scala - 如何将这种类型的 lambda 转换为 Kind-Projector 语法?
给定类型参数F[_]
以及A[_]
如何将以下类型 lambda 转换为更令人愉悦的 Kind-Projector 语法?
({type λ[α] = F[A[α]]})#λ
我会想象它会像F[A[?_]]
,但编译器抱怨在这种情况下需要类型参数。
scala - 为什么 Functor[A => ?] 不能在 Scala 2.11.7 中编译?
我正在关注Michael Pilquist 对 Functors 的出色介绍,而我的 Scala 2.11.7 repl 无法编译(解释?)以下行。
Scala是[X => ?]
合法的吗?
我看到他正在文件顶部导入他自己的 simulacrum 项目,但我无法确定它是否相关。
scala - Scala 无法在 scalaz 或猫中拉皮条 NaturalTransformation
由于某种原因,以下无法正常工作
test
当我在自然变换上调用该方法时。Intellij 将其识别为扩展函数,但编译给出value test is not a member of cats.~>
. 使用 scalaz NaturalTransformation 时也会发生同样的情况。我可以做些什么来帮助编译器识别扩展名吗?
Scala 版本是 2.11.8
一个失败的例子:
(上面使用了种类投影仪插件,但对于 lambdas 类型或单个参数更高种类的类型同样失败)
scala - scala通用函数`未找到:类型?`
当我使用 scala 创建这样的函数时,它告诉我not found: type ?
有人可以告诉我如何解决这个问题吗?
intellij-idea - 带有种类投影仪插件的 IntelliJ 上的猫
我正在探索 IntelliJ 中的 Cats,但尽管 IntelliJ Scala 插件支持Kind Projector 插件,但 IntelliJ 无法识别插件的类型 lambda 表示法 ( λ
)。启用此功能有诀窍吗?在运行代码检查后,我没有看到 Kind Projector 列出,尽管 Kind Projector 检查选项可用并在首选项中启用。我的 IntelliJ 版本是 2016.2.2,Scala 插件版本是 2016.2.1。