scala.net生产准备好了吗?

时间:2009-04-13 06:22:33

标签: .net scala

Scala似乎也有.NET实现。我想知道这是一个完整的实现,没有松散的结束或只是一个展示的东西。

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

有人参与过Scala的.NET实现吗?有什么反馈吗?

8 个答案:

答案 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)

Martin Odersky在SE Radio interview(2011年1月)中说:

  

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

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

答案 2 :(得分:9)

Wikipedia entry声明:

  

存在替代实施方案   对于.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

目前的不足。
  • 一个C#库的Scala端口 BigInteger(from codeplex,我自己的单元测试)
  • Java代码的Scala端口 scala.actors

答案 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集成方面。

Interview with Scala's Martin Odersky - July 14, 2011

答案 7 :(得分:0)

在SVN回购中,肯定会在.net空间中发生一些活动。在2.7.x中有一个dotnet-library目录,但在2.8.xtrunk中已经存在。相反,有一个msil目录,最近有4 months ago by rytz发生了一些非常重要的事情。

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