问题标签 [scala-3]

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 投票
0 回答
84 浏览

scala - 为什么多态方法的eta扩展不会产生多态函数值?

Scala 2 没有多态函数值,因此 eta 扩展多态方法只给出

然而 Scala 3 确实具有多态函数值,所以为什么 eta 扩展多态方法不提供更多

0 投票
1 回答
157 浏览

scala - scala 3 内联失败了一个非常简单的例子

我正在探索 scala3 内联的可能性。我制作了一个简单的示例,我希望在编译时应用构造密封类的验证方法:

到现在为止还挺好。但我真正想要的是能够重用from内联函数中的函数。这是我尝试:

inlinedFrom3是一种概括,表明如果我直接匹配对象的代码,编译器不会看到它们与输入字符串相同并采用错误的分支。

我想了解的是为什么inlinedFrom3不起作用以及是否有办法使它起作用。

注意:我使用的是 scala 3.0.0-RC2

0 投票
1 回答
204 浏览

scala - TypeTest 以克服 scala3 中泛型类型的擦除

我在理解TypeTestscala3 中的 s 如何替换TypeTagscala 2 中的使用时遇到问题。用例能够匹配诸如 x: List [Int] 之类的通用参数。

我试图解决的具体例子:

编译器警告中的编译结果(如预期)

the type test for Mod[Foo.Bar] cannot be checked at runtime和一个遥不可及的案例。

现在我的问题是:这可能在 scala3 中完成吗?

我的印象是我必须以某种方式TypeTest[Any, Mod[Foo.X]]为所有 X提供一个Foo枚举的子类。

但我什至在努力实现这些测试,以及了解它需要什么using参数modifyBarsOrBaz才能工作。

因此,我想出了以下(不工作)解决方案:

和一个天真的 tt 实现

我试图在网上搜索答案,但由于这是相当新的,我并不幸运。有什么提示吗?

0 投票
2 回答
126 浏览

scala - [F <: List[A], A] 和 [F[_] <: List[A], A] 的推理差异

A考虑以下两个类型参数子句中类型参数对类型构造函数的推断差异

为什么在第二种情况下推断A类型构造函数的类型参数?FAny

0 投票
1 回答
157 浏览

scala - `F[_ <: A] <: B` 在类型级别和 `f: A => B` 在值级别之间的类比

假设作为, letF[_ <: A] <: B的类型级模拟,则不应键入 application yield when ,因此应在以下情况下编译f: A => B[F[_ <: Int] <: List[Int], A <: Int]F[A]List[Int]A = Intf(List(42))

通过显式提供类型参数应用错误消息使其工作

类比在哪里中断?我认为从错误到F[_ <: Int] <: List[Int]类型级别函数的心智模型在哪里?IntList[Int]

0 投票
0 回答
95 浏览

scala - scala中的伴侣对象

我正在尝试编写一个toFirstOrSecond方法,该方法允许我在没有任何额外代码的情况下调用 Try。

但我得到一个错误我该object Try in object A does not take parameters如何解决这个问题?谢谢

0 投票
0 回答
83 浏览

scala - 在 Scala 中为类型类添加新方法

我正在尝试向toA()utils.Try 类添加新方法。但我面临一个类型的问题:

案例成功返回我们v : Any,但我需要v : V。如何获得v : V?也许我需要一个功能Apply?我是新手,我不明白

0 投票
2 回答
168 浏览

scala - Scala 3 中的 `scala.tools.nsc.MainGenericRunner` 的等价物是什么?

dotty中的等价物是scala.tools.nsc.MainGenericRunner什么?

我检查了包dotty.tools.dotc https://github.com/lampepfl/dotty/tree/master/compiler/src/dotty/tools/dotc 但找不到任何东西。

我尝试使用dotty.tools.dotc.Run但出现错误

换行:java.lang.NoSuchMethodException:dotty.tools.dotc.Run.main([Ljava.lang.String;)

0 投票
0 回答
148 浏览

scala - 使用 AnyKind 的种类多态性用例

给定

与声明的类型参数的类型相比,我们不能传递不同类型的类型参数

但是我们可以通过以下方式声明类型参数是多态的AnyKind

的用例是AnyKind什么?它解决了什么实际问题?

0 投票
0 回答
49 浏览

scala - Peano 数字类型级实现适用于类但不适用于特征

以下使用匹配类型对 Peano 数进行减法的类型级实现有效

但是,如果将类更改为特征

那为什么它不起作用