> Linux新闻 >

Julia 1.3 发布,高性能动态高级编程语言

Julia 1.3.0 发布了, Julia 是一个高性能动态高级编程语言。其拥有丰富的函数库,提供了数字精度、精致的增幅器和分布式并行运行方式。核心函数库等大多数库由 Julia 编写,但也用成熟的 C 和 FORTRAN 库来处理线性代数、随机数产生和字符串处理等问题。

JuliaLang

更新内容如下:

新的语言特性

  • 支持 Unicode 12.1.0 (#32002)
  • 现在可以将方法添加到抽象类型中 (#31916)
  • 支持将 Unicode 粗体数字和双位数 0 到 9 作为有效标识符 (#32838)
  • 添加了语法 var"#str#" 用于打印和解析非标准变量名 (#32408)

多线程更改

  • 新的实验性 Threads.@spawn 宏可在任何可用线程上运行任务 (#32600)
  • 现在,所有系统级 I/O 操作(例如文件和套接字)都是线程安全的。尽管它确实包含 BufferStream,但它不包括完全在内存中的 IO 子类型,例如 IOBuffer  (#32309#32174#31981#32421)
  • 全局随机数生成器(GLOBAL_RNG)现在是线程安全的(和线程本地的) (#32407).
  • 新的 Channel(f::Function, spawn=true) 关键字参数可将创建的 Task 安排在任何可用线程上,与 Threads.@spawn 的行为匹配 (#32872)
  • 简化了 Channel 构造函数,该构造函数现在更易于阅读并且更加惯用。现在不建议使用关键字参数 csize 和 ctype (#30855#32818)

新的库功能

  • findfirst, findlast, findnext 和 findprev 现在接受一个字符作为第一个参数,以在作为第二个参数传递的字符串中搜索该字符 (#31664)
  • 新的 findall(pattern, string) 方法,其中 pattern 是字符串或正则表达式 (#31834)
  • count(pattern, string) 给出 findall 匹配的事物数 (#32849)
  • istaskfailed 已记录并导出,就像 istaskdone 和 istaskstarted (#32300)
  • RefArray and RefValue 对象现在在 getindex 和 setindex! 中接受索引 CartesianIndex() (#32653)
  • 添加了 sincosd(x) 以同时计算 x 的正弦和余弦,其中 x 以度为单位 (#30134)
  • 导出了从类型联合中删除“丢失”的函数 nonmissingtype (#31562)

其余大量更新内容见更新说明:

https://github.com/JuliaLang/julia/blob/v1.3.0/NEWS.md




(责任编辑:IT)