scala.net生产准备好了吗?

斯卡拉似乎也有一个.NET实现。 我想知道这是一个完整的实现,没有任何松散的结局或只是一个展示的东西。

这一点很重要,因为我们即将开发的应用程序除了Web上的主要实现之外还应该具有Windows GUI。 有一种语言,核心代码可以在两个实现之间移植看起来像一个交易者。

任何人在Scala的.NET实现上工作? 任何反馈?

我听说.NET方面已经获得了新的资金,但是目前与“生产准备”甚至“可用”的距离已经很大,而且越来越远。 很长一段时间没有一个有意义的.NET方面的检查。

2010年1月15日更新:一个最近的消息到一个scala列表。

来自:卢卡斯Rytz

星期五,2010年1月15日03:18,Naftoli Gugenheim写道:

不知道这是你在找什么,但我认为H2可以运行
.NET,根据它的文档/网站。
如果你正在寻找在Scala编程的数据库引擎,我个人
没有听说过,但这并不意味着什么。
如果你的意思是一个ORM等有几个。 你甚至可以使用Lift Mapper
非升降机应用程序(只包括webkit和util jars IIRC)。
.NET上Scala的状态是什么?

我们正在引导编译器,并且一直在修复MSIL-Backend-Bugs。 EPFL将提供一个在.NET上运行的编译器(至less在第一个版本中使用IKVM.OpenJDK.Core.dll)

现在,我们有一个在JVM上运行的交叉编译器,以及一个在.NET上运行的简化版本的scala-library.jar。

对于某些部分,我们将依赖社区(例如将更多的scala-library.jar移植到.NET中)。

卢卡斯

马丁·奥德斯基(Martin Odersky)在本次东南亚电台采访中 (2011年1月)说:

我不想给你预计到达的时间,但今年肯定应该包括视觉工作室的支持。

他在15分钟的时候开始谈论.NET。

维基百科条目声称:

.NET平台有一个替代实现,但并没有保持最新。 (需要的引证)

FAQ的“限制”部分包含以下条目:

斯卡拉是否在.Net上工作?

是的,目前的Scala发行版可以为.Net平台编译程序。 .Net平台与Java有许多相似之处,但它也有很多特性,维护这个端口是一项复杂的任务。 Scala的MSIL / .Net版本实际上是在整个Scala语言和大多数标准库的基础上实现的。 一个重要的限制是结构types在.NET上还没有工作。 使用特别复杂的exception处理程序时可能仍然存在问题。 由于.Net的特性,less数库不可用,并且与其他.Net语言的交互不受支持。 有关更多详细信息,请参阅此文档页面(可能有点过时)。

在.NET中使用Scala的指南谈到了版本1.4,到现在为止还是比较老的。 另一方面,看起来像2008年的文档是最近写的,包括“Scala on .NET:怪癖”页面,这听起来很重要。

我自己没有任何经验,这听起来像支持一样,但.NET端口不是真正的一stream公民。 .NET上的Scala没有“嗡嗡声”(与Java版本相比)并不令人鼓舞。 这听起来不像我现在想要用于商业软件的东西。 当然,这可能是好的,只是没有很好的市场。 如果你真的热衷于这个想法,我会问一个邮件列表 。

为什么不把Eclipse RCP用于基于Java / Scala的Windows客户端,或者将.NET用于Web应用程序?

2011年7月18日在scala-lang.org的采访中:

我现在可以在.Net上运行Scala程序吗?
米格尔
简单的答案是肯定的,有一些限制,将被删除掉。

链接: 访问
链接: 二进制文件

目前 – 不,不是,真的,这太遗憾了,因为这是一个非常有趣的语言。

“Hello world”types的程序,甚至是一些奇特的技巧,比如编写一个简单的堆栈,其中一小段Python(与Jython或IronPython相同的代码)驱动相同的Scala。

任何适度征税 – 即使代码不使用scala命名空间之外的任何东西,scalac-net编译也可以抛出,并在JVM上构build并传递一套相当详尽的unit testing。 它甚至可以阻止构build甚至相当简单的程序集(即使使用.net 1.0构build,以匹配scala-msil包中包含的mscorlib的低规格)。

我对“适度征税”的testing集包含了以下实现,旨在弥补.net目前的不足

  • 一个用于BigInteger的C#库Scala的端口( 来自codeplex ,带有我自己的unit testing)
  • scala.actors中的Java代码的Scala的一个端口

从4月份的“斯卡拉日”2010开始,Miguel Garcia正在开发Scala.NET。 我相信他正在开发一个视觉工作室插件,我不知道有多远,但是你可以在这里find他工作的证据:

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/

保罗(extempore)的答案可能有更多最新的信息,但如果我好奇,我可以直接问米格尔。

DDJ:有Scala的.NET版本吗?

MO:是的。 我们在七月份宣布。 我们有一个项目,实际上是由微软出资build立一个.NET版本的Scala。 我们有编译器的第一个引导版本在.NET上编译。 还有一些工作要做,特别是在Visual Studio集成上。

采访斯卡拉的马丁Odersky – 2011年7月14日

在SVN回购中,绝对有一些活动在.net空间中进行。 在2.7.x有一个dotnet-library目录,但是在2.8.xtrunk 。 相反,有一个msil目录,最近4个月前,rytz已经有了一些不平凡的事情。

所有可用的文档似乎都是过时的,但也许值得问一个主要贡献者当前的状态是什么。 请注意,extempore(一年前已经回答过)似乎是其中之一。