问题标签 [scala-compiler]
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 升级到“2.10.3”,但我的 jar 文件只显示“2.10”
我确实在我的 build.sbt 中指定了 scalaVersion := "2.10.3",但是在 ./sbt 包之后,我的包为 myapp_ 2.10 -1.0.0.jar。
它不应该是 myapp_ 2.10.3 -1.0.0.jar 吗?
我还需要更改任何参数吗?
谢谢!
scala - Scala 运行时插件系统
我正在开发简单的应用程序服务器,我想制作扩展插件系统。对于构建插件,我计划创建将生成 scala 源文件的特殊向导。我想要自动编译并加载这些文件,以便将它们的业务逻辑包含到我的应用程序服务器中。是否有可能在 Scala 中完成并且我必须阅读并为实现这个想法而做?
scala - Scala 编译器永无止境的编译
我注意到我的 Scala IDE 消耗了所有可用的 CPU……我尝试从命令行通过 SBT 编译项目,但遇到了同样的情况。
我怎样才能知道出了什么问题?有没有办法找出正在编译的文件或类/对象/特征?
我在 2.10.2 和 2.10.4-RC1 中遇到了同样的问题
scala - Scala 2.10 中编译器生成的隐含值是什么?
在Scala 反射指南中写了以下内容:
与 Manifest 一样,实际上可以请求编译器生成一个 TypeTag。这是通过简单地指定 TypeTag[T] 类型的隐式证据参数来完成的。如果编译器在隐式搜索过程中找不到匹配的隐式值,它会自动生成一个 TypeTag[T]。
这个StackOverflow 答案很好地解释了“隐含证据”的概念。但是,我仍然不完全清楚编译器将生成TypeTag[T] 意味着什么。
这是否意味着这是“隐含证据”搜索的特例?即当编译器进行隐式搜索时,类 TypeTag[T] 以特殊方式处理?我试图在 Scala 反射 API 中查找隐式参数值,但没有找到提供 TypeTag[T] 的任何参数值,因此我假设 TypeTag[T] 隐式参数来自编译器内部(如文档所述)。所以类名 TypeTag[T] 被硬编码到编译器的源代码中。这个假设正确吗?
隐含值的自动生成是否记录在某处?换句话说,是否有一个文档列出了所有自动生成的隐含证据?我在Scala 语言规范(2.9 版)中没有找到 TypeTag[T] 。与 TypeTag[T] 最接近的概念是 Manifest,它是自动生成的隐式参数。Manifests 是 Scala 2.9 中唯一自动生成的隐式值参数吗?
scala - Scala-compiler:将 jar 添加到类路径
我有以下代码:
我正在尝试编译一个类。编译器尝试编译指定的文件。但编译器似乎没有在 Strat.jar 中看到任何内容。在代码中运行编译器时,如何将 jar 添加到类路径中?
我正在使用 2.11.0RC1
scala - 如何将 fsc 与 sbt 一起使用?
相关问题:SBT 是否使用快速 Scala 编译器 (fsc)?
fsc 可以和 sbt 一起使用吗?实用吗?如果是这样,如何将 fsc 集成到 sbt 中?
scala - Scala `IMain` v. 2.11 中的`()Int` 和 `Int` 类型有什么区别?
我一直在玩 2.11 中用于编译器和 repl 的新 API,并且遇到了一些奇怪的事情。这是我的 repl 输出:
如您所见,typeOfTerm("x")
返回()Int
,但typeOfExpression("x")
返回Int
。我认为类型()Int
表示变量的情况是 type Int
,但我不能确定。如果有人可以确认或纠正我的困惑,并可能将我引导至任何讨论此问题的文档,我将不胜感激。我浏览了我能找到的反射文档,但没有任何运气。
scala - 我无法从 scala AST 调用类。找不到课程
我想知道如何创建节点,以便它们在代码中实例化类。目前,如果我修改代码,它无法识别节点。
}
在 AST 中,我创建了以下节点并将 ValDef 节点替换为参数 a
我收到以下错误
我想知道我创建节点的方式是否错误以及我需要做的其他事情。我在 Transformer 类中传递了这个 retTree 来转换 AST。在编译器的 Typer 阶段未找到该类型。任何帮助将不胜感激。