kan*_*ics 12 scala dotty scalaz scala-cats
在2013 年的这个问题中,奥德斯基先生指出,"现在判断"像Scalaz这样的图书馆是否能够在Dotty下存在(至少在他们当前的状态下),这是由于高级和存在类型的阉割所致.
在过去的时间里,Dotty对Scalaz&Cats的影响已被阐明了吗?内置效果和记录等提议的功能是否会改变这些项目的范围?
我知道Dotty仍然可以替代scalac,但是当我考虑投入时间将纯粹的功能结构和方法应用到我的工作中时,我认为考虑其旗舰库的未来很重要.
关于Dotty最新的一个例子是" Scaling Scala "作者:Chris McKinlay(2016年12月15日)(同一篇文章也提到了Scalaz和Cats的情况)
Martin Odersky一直致力于Dotty的工作,Dotty是一种基于依赖对象类型(DOT)演算(基本上是Scala的简化版本)的新型研究编译器,以及来自函数式编程(FP)数据库社区的想法.
致力于Dotty开发的团队已经在现有技术方面取得了一些显着的进步,尤其是在编译时间方面.我问奥德斯基他认为Dotty架构的新颖之处,并会帮助最终用户.这是他说的话:
我想到两件事:
- 首先,它与正式基础密切相关,为我们提供了如何设计声音类型系统的更好指导.这将减少用户在未来的意外.
- 其次,它具有基本功能的架构.这使得它更容易扩展,更容易纠正,并将导致更强大的API,其中编译器用作IDE和元编程的服务.
虽然Dotty开辟了许多有趣的语言可能性(特别是全谱依赖类型,la Agda和Idris),但Odersky选择优先考虑使其立即对社区有用.语言差异相当小,其中大部分是为了简化语言(如删除过程语法)或修复错误(不健全的模式匹配)或两者(早期初始化程序).
尽管如此,我无法抗拒地询问他是否有可能在某些时候在Scala中出现全谱依赖类型.他说的是这样的:
永远不要把话说绝了 :-).事实上,我们目前正在与Viktor Kuncak合作,将Leon程序证明器与Scala集成,后者需要比现在更丰富的依赖类型.但它目前是严格的研究,具有完全开放的结果.
Scala和Dotty团队正在紧密合作Scala 2.x和Dotty,他们已经表明他们非常重视连续性.Scala 2.12和2.13具有解锁在Dotty中孵化的特征的语言标记(例如,存在类型),并且Dotty编译器具有Scala 2兼容模式.甚至还有一个迁移工具.
| 归档时间: |
|
| 查看次数: |
2166 次 |
| 最近记录: |