Scala似乎也有.NET实现。我想知道这是一个完整的实现,没有松散的结束或只是一个展示的东西。
这很重要,因为除了Web上的主要实现之外,我们即将开发的应用程序应该具有Windows GUI。拥有可以在两个实现之间移植核心代码的语言看起来像交易制造者。
有人参与过Scala的.NET实现吗?有什么反馈吗?
答案 0 :(得分:27)
我听说过已经为.NET方面获得了新的资金,但目前它与“生产就绪”甚至“可用”的距离越来越远。很长一段时间没有一个有意义地触及.NET方面的签到。
2010年1月15日更新:最近发送给其中一个scala列表的消息。
来自:Lukas Rytz
On Fri,2010年1月15日03:18,Naftoli Gugenheim写道:
不确定这是否是您正在寻找的但我认为H2可以运行 .NET,根据其文档/网站。
如果你正在寻找在Scala中编程的数据库引擎,我个人 没有听说过,但这并不意味着什么 如果你的意思是ORM等,有一些。您甚至可以使用Lift Mapper 非升级应用程序(仅包括webkit和util jar IIRC) Scala在.NET上的状态是什么?
我们正在努力引导编译器,我们正在修复MSIL-Backend-Bugs。 EPFL将提供在.NET上运行的编译器(至少在第一版中使用IKVM.OpenJDK.Core.dll)
目前,我们有一个在JVM上运行的交叉编译器,以及在.NET上运行的scala-library.jar的简化版本。
对于某些部分,我们将依赖社区(例如,将更多scala-library.jar移植到.NET)。
的Lukas
答案 1 :(得分:12)
答案 2 :(得分:9)
存在替代实施方案 对于.NET平台,但它没有 一直保持最新。 (引用需要)
"limitations" section of the FAQ有此条目:
Scala是否适用于.Net?
是的,目前的Scala发行版 可以为.Net编译程序 平台。 .Net平台有很多 与Java相似但它也有 许多特质,制作 维护这个端口很复杂 任务。 Scala的MSIL / .Net版本 在这个阶段几乎实现了 整个Scala语言,大部分都是 标准库。一个重要的 限制是结构类型 还没有在.NET上工作。可能还有 特别是使用时会出现问题 复杂的异常处理程序。一个小的 库的数量不可用 由于.Net的特殊性,以及 与其他.Net的互动 语言不受支持。为了更进一步的 详情请参考 (可能有点过时了) 文档页面。
guide to using Scala with .NET谈到版本1.4,现在已经很老了。另一方面,文档最近写于2008年,包括"Scala on .NET: quirks"页面,这听起来非常重要。
我自己没有任何经验,听起来支持一瘸一拐,但.NET端口并不是真正的一流公民。事实上,围绕Scala在.NET上没有“嗡嗡声”(与Java版本相比)也不令人鼓舞。这听起来不像我现在想要用于商业软件的东西。当然,它可能很好,而且还没有很好的营销。如果你真的热衷于这个想法,我会问mailing list。
为什么不将Eclipse RCP用于基于Java / Scala的Windows客户端,或者将.NET用于Web应用程序?
答案 3 :(得分:4)
2011年7月18日在scala-lang.org上的采访中:
我现在可以在.Net上运行Scala程序吗?
的米格尔强>:
简单的答案是肯定的,有一些限制将在秋季消除。
链接:The inteview
链接:Binaries
答案 4 :(得分:3)
目前 - 不,不是真的,这是一个很大的遗憾,因为它是一种非常有趣的语言。
“Hello world”类型的程序,很好 - 甚至是花哨的技巧,比如编写一个简单的堆栈,其中一小段Python(Jython或IronPython下的相同代码)驱动同一块Scala。
任何适度征税 - scalac-net编译可以并且将抛出,即使代码不使用scala命名空间之外的任何内容,并在JVM上构建并传递相当详尽的单元测试集。即使使用.net 1.0构建它,也可以依赖于相当简单的程序集(即使使用.net 1.0构建,以匹配scala-msil包中包含的mscorlib的低规格)。
我对“适度征税”的测试集包括以下实现,旨在弥补.net
目前的不足。答案 5 :(得分:2)
截至4月的Scala Days 2010,Miguel Garcia正在研究Scala.NET。我相信他正在制作一个视觉工作室插件,我不确定事情有多远,但你可以在这里找到他的工作证据:
http://lamp.epfl.ch/~magarcia/ScalaCompilerCornerReloaded/ http://www.sts.tu-harburg.de/people/mi.garcia/ScalaCompilerCorner/MixedSourceScalaCSharp.pdf http://www.sts.tu-harburg.de/people/mi.garcia/ScalaCompilerCorner/ScalaNetLearnsLINQTricks.pdf
Miguel现在正在EPFL做博士后:http://lamp.epfl.ch/~magarcia/
保罗(临时演员)的回答可能有更多最新信息,但如果我好奇,我可能会直接问米格尔。答案 6 :(得分:2)
DDJ:是否有计划的Scala .NET版本? MO:是的。我们在七月宣布了它。我们有一个项目,实际上 由Microsoft资助,用于构建.NET版本的Scala。我们有 编译器的第一个bootstrap版本在.NET上编译。 仍有工作要做,特别是在Visual Studio集成方面。
答案 7 :(得分:0)
在SVN回购中,肯定会在.net空间中发生一些活动。在2.7.x
中有一个dotnet-library
目录,但在2.8.x
和trunk
中已经存在。相反,有一个msil
目录,最近有4 months ago by rytz发生了一些非常重要的事情。
所有可用的文档似乎都已过时,但也许值得向主要贡献者询问当前状态。请注意,extempore(一年前已经回答过这个问题)似乎就是其中之一。