Julia 1.5.0-beta1 发布,高性能动态高级编程语言
Julia 1.5.0-beta1 现已发布。Julia 是一个高性能动态高级编程语言。其拥有丰富的函数库,提供了数字精度、精致的增幅器和分布式并行运行方式。核心函数库等大多数库由 Julia 编写,但也用成熟的 C 和 FORTRAN 库来处理线性代数、随机数产生和字符串处理等问题。
更新内容如下:
新语言特性
- 现在也可以将 @foo{...} 宏调用写入 @foo{...} (不带空格)(#34498)。
⨟
现在被解析为具有时间优先级的二进制运算符。可以在 REPL 中使 用 \bbsemi 和 TAB进行输入(#34722)。±
和∓
现在也是一元运算符,例如+
或-
。必须注意对空格敏感的宏和矩阵构造函数,因为像[a ±b]
这样的表达式现在被解析为[a ±(b)]
而不是[±(a, b)]
(#34200)。- 将标识符
x
本身作为关键字参数或命名元组元素传递,等效于x=x
,隐式使用变量名作为关键字或命名元组字段名。类似地,传递a.b
表达式使用b
作为关键字或字段名称(#29333)。 - 支持 Unicode 13.0.0(通过 utf8proc 2.5)(#35282)。
- 现在可以使用实验宏
Base.Experimental.@optlevel n
按模块设置编译器优化级别 。对于非关键性能的代码,将其设置为 0 或 1 可以显着改善延迟(#34896)。
语言变更
- 交互式REPL现在对顶级表达式使用“soft scope”:scope block(如 for 循环)内的分配会自动分配给全局变量(如果已经定义了一个全局变量)。这与 Julia 版本 0.6 和更低版本以及 IJulia 的行为匹配。 只会影响以交互方式键入或直接粘贴到默认 REPL 中的表达式
- 在 REPL 之外(例如在文件中),如果存在具有相同名称的全局变量,则在顶级作用域块内分配变量被认为是模棱两可的。 如果发生这种情况,则会发出警告,以提醒您代码将与REPL中的代码不同。 一个新的命令行选项 --warn-scope 控制此警告。
- 将任意元组转换为 NTuple
- 语法 (;) (在 v1.4 中已弃用)创建了一个空的命名元组
@inline
macro 现在可以应用于简短形式的匿名函数- ......
多线程更改
- 现在,请注意,多线程 API 的某些部分很稳定。包括
Base.Threads
中记录的所有标识符,但atomic_
操作除外。 @threads
现在允许使用可选的 schedule 参数。使用@threads :static ...
以确保相同的时间表将被用作在过去的版本; 默认时间表可能会在将来更改。
新的库功能
- 软件包现在可以提供自定义提示,以通过使用实验性的
Base.Experimental.register_error_hint
函数来帮助用户解决错误。 定义自定义异常类型的程序包可以通过从showerror
方法调用Base.Experimental.show_error_hints
来支持提示。(#35094) @ccall
macro 已被添加到 Base。- 新的功能
mergewith
和mergewith!
,取代merge
和merge!
与combine
argument。它们不具有将 Combine 用作 Function 的限制,还提供了返回闭包的单参数方法。(#34296) - 新
isdisjoint
函数指示两个集合是否不相交(#34427)。 - 添加函数
ismutable
并弃用isimmutable
以检查某项是否可变(#34652)。 - ......
其余大量更新内容见更新说明:https://github.com/JuliaLang/julia/blob/v1.5.0-beta1/NEWS.md#julia-v15-release-notes
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Apache Lucene 8.5.2 发布,Java 全文搜索引擎
Apache Lucene 8.5.2已发布,Lucene 是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎、部分文本分析引擎。目的是为软件开发人员提供一个简单易用的工具包,以方便地在目标系统中实现全文检索的功能,或者是以此为基础建立起完整的全文检索引擎。 此版本修复了无法在模糊查询(FuzzyQuery)中缓存 automata 的错误。 LUCENE-9350:在模糊查询中使用Levenshtein Automata最终会导致使用查询对象作为缓存键的查询缓存占满,所以现在构建 automata 又要再次延迟到搜索时间。 下载地址https://lucene.apache.org/core/downloads.html
- 下一篇
GoCD 20.4.0 发布,持续集成和发布管理系统
GoCD 20.4.0 发布了。GoCD是一个持续集成和发布管理系统,前身为CruiseControl,它是 ThoughtWorks 在做咨询和交付项目时研发的一款开源持续集成工具。后来随着持续集成及持续部署的火热,ThoughtWorks 专门成立了一个项目组,基于 Cruise 开发出这款工具。 此版本主要更新内容包括: 新管道组的默认权限 从 20.4.0 开始,所有没有显式权限设置的管道组只能由 GoCD 系统管理员查看和操作,这将会更加安全。 UI/UX 更新 “管道配置”编辑页面已重写,改善了用户体验。 其它改进 # 8118-更新软件包和可插拔 SCM 页面以支持 auto_update #8140-在解析与规则相关的过程中改善配置库错误消息 Bug 修复 #8119-通过包页面添加包材料会导致管道失败 #8132-修复了参数解析出错时模板 API 更新失败的问题 详情查看更新说明: https://www.gocd.org/releases
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- 设置Eclipse缩进为4个空格,增强代码规范
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS8安装Docker,最新的服务器搭配容器使用
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题