问题标签 [dotty]
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 - 使用 Intellij IDE 运行 Scala Dotty 项目
我使用 Dotty 模板创建了一个基本的 Scala Dotty 项目并将该项目导入 IntelliJ IDE。
当我使用sbt
命令行时一切正常。
当我尝试在 IntelliJ IDE 中构建或运行它时,出现以下错误:
任何想法如何解决这个问题?
scala - 到底什么是多蒂?
我正在阅读有关Scala 3并发现dotty的信息。我试图了解它是什么。在某处我读到“它是新的编译器”,在某处我读到“它是 Scala 3 的一部分”,在某处我读到“Dotty 是新的 Scala 3”。
有人可以向我解释一下 dotty 到底是什么吗?用外行和技术术语?
PS:我已经在 StackOverflow 上阅读了dotty的标签信息,但并没有真正理解。
scala - dotty seq 映射到联合
我无法使用最新的dotty(0.9.0-RC1)编译以下代码,乍一看它看起来应该......
有没有人知道它为什么会失败以及它是否可以工作?
scala - 带有dotty的运行时记录器异常
我的项目依赖于 scala 日志库,我正在尝试升级我的项目以使用 dotty。为此,我从https://github.com/lampepfl/dotty-example-project克隆了示例 dotty 项目,并对其进行了更新,包括日志库。请在下面找到项目的目录结构:-
项目/build.properties:-
项目/plugins.sbt
构建.sbt
src/main/scala/Main.scala
上面的scala代码编译得很好
sbt 干净编译
但是 sbt 运行失败并出现以下错误:-
正如这里所建议的,这可能是因为宏。
请建议,因为我的周末项目依赖于登录,我想将其升级为 dotty。
scala - Scala 隐式 def 返回 A 和 B
我一直在为此苦恼,我不知道是否有办法正确地做到这一点。我觉得我知道问题是什么,但不知道如何解决。
我有一个方法:
如果我明确地调用它,它可以正常工作,但是它永远不会被正确地暗示。
通过我使用 -Xlog-implicits 进行的调试,我相信它的调用combineAlg[A with B, Nothing]
。
我正在寻找一种方法来做类似的事情:
或者
以便它了解它需要将“与”分开,但两者都没有帮助。
不确定是否有办法做到这一点,实际上这是我在 Scala 中为“对象代数”做的一个实验,我正在尝试看看如何删除样板。
如果有解决方案,那就太棒了。一个 dotty 解决方案也是可以接受的,因为我也在那里实现它,看看是否有一些新功能使它更简单。
如果需要更多信息,您可以在此处查看存储库 我要更改的是 algebra.combineExpAlg。看起来它正在工作,因为我在 algebra.interpreters.package 中定义了特定的隐含,专门拼出每个解释器对,这就是我想要概括的内容。
scala - 如何从 Visual Studio Code UI 执行 dotty 代码
我正在尝试使用Visual Studio Code
运行 dotty 代码。sbt launchIDE
我根据this page的说明开始使用IDE ,并且还安装了Dotty Language Server
扩展Code Runner
程序。Dotty 是使用安装的brew
,我可以从 CMD 编译和执行 dotty 代码。
问题是我无法从中运行此代码,Visual Studio Code
因为我Code Runner
试图使用 scala 而不是 dotty 来执行它。
找不到任何有用的配置来调整此插件以使用 dotty。
有什么方法可以让它在 Visual Studio Code UI 中运行?
scala - 如何在 scala 中实现类型安全的域存储库?
我想实现通用和类型安全的域存储库。说我有
结果我想要以下api:
问题是如何实现这一目标?
所以,我只看到一种使其类型安全的方法。这是对任何类型进行模式匹配,例如
但是如果我在这里有 10000 种类型呢?那将是一团糟!
我现在还不清楚的另一种方法是使用 dotty type | (或)如下:
所以你怎么看?有可能吗?
我见过的最简单的方法是
但这种方式允许做很多错误
scala - 在宏扩展时生成函数
我想为接受 1 类型参数的类生成函数
取决于T
类型参数。
我想生成的函数是由T
.
我真正想要的是使所有功能都可用于T
,也可用于C
。
作为. C[Int]
_ C
_ Int
_ Int
_C
如何通过使用 Scala 2 或 dotty 宏来实现这一点?或者,这可以通过其他方式实现吗?
scala - 根据类型参数生成函数
我想为接受 1 类型参数的类生成函数,该参数包含按名称值。
我想生成的函数是由T
.
我真正想要的是获得所有可用的功能T
,以编程方式更改它们的合同和实现,并使它们可用于C
.
通过更改他们的合同,我的意思是更改他们的签名以便他们 return
C[R]
,其中R
代表原始函数的返回类型。C
通过更改它们的实现,我的意思是在返回之前将结果包装在里面。
例如。
C[Int]
将成为可用
这样做是为了消除必须包装在C
计算中以使其不被评估的样板。
例如。
也可以表示为
如何通过使用 Scala 2 或 dotty 宏来实现这一点?或者,这可以通过其他方式实现吗?
scala - 以编程方式将返回特定类型的函数实现包装到另一个函数中
我想将返回某个类型的 scala 项目中的所有用户定义函数包装T
到一个接受 aT
和函数名作为参数的函数中。
例如。
鉴于此功能在范围内:
用户可以为他们的函数发送指标,这些指标Try
通过执行返回
但我希望用户只需要定义
并让他的业务逻辑Try
隐含地返回withMetrics
。
请注意,用户不应该对代码进行注释,因为这可能会导致他忘记它。相反,在他的项目中定义的所有用户函数都应该withMetrics
自动包装进去。
如何通过使用 Scala 2 或 dotty 宏来实现这一点?或者这可以通过其他方式实现吗?