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.x
和trunk
。 相反,有一个msil
目录,最近4个月前,rytz已经有了一些不平凡的事情。
所有可用的文档似乎都是过时的,但也许值得问一个主要贡献者当前的状态是什么。 请注意,extempore(一年前已经回答过)似乎是其中之一。