Notable compiler and language news:
Incremental code caching for packages, resulting in a major reduction in loading time for Gadfly and other large, inter-dependent packages.
Generational garbage collector which greatly reduces GC overhead for many common workloads.
Generated functions (sometimes known as "staged functions") introduce finer control over compile-time specialization. Docs and related JuliaCon talk.
Support for documenting user functions and other objects and retrieving the documentation via the help system.
Improvements in the performance and flexibility of multidimensional abstract arrays, SubArrays (array views), and efficient multidimensional iterators.
Inter-task channels for faster communication between parallel tasks
Tuple type improvements: the type tuple (A,B)
now written Tuple{A,B}
. This change has improved the performance of many tuple-related operations, and allowed one to write fixed-size aggregate fields as field::NTuple{N,T}
(N
umber of elements of given T
ype).
Major improvements in Julia's test coverage and the ability to analyze the test coverage of packages
The command line (REPL) now supports tab-completion of emoji characters (common LaTeX symbols have been supported since 0.3!)
Upcoming work for 0.5
Nightly builds will use the versioning scheme 0.5.0-dev.
A major focus of 0.5 will be further (breaking) improvements to core array functionality, as detailed in this issue.
We plan to merge the threading branch, but the functionality will be considered experimental and only available as a compile- time flag for the near future.
Community News
The Julia ecosystem continues to grow, and there are now over 700 registered packages! (highlights below)
The second JuliaCon was held in Cambridge (USA) in June, 2015. Over 60 talks were recorded and are available for viewing.
JuliaCon India will be held in Bangalore on 9 and 10 October.
JuliaBloggers is going strong! A notable recent feature is the #MonthOfJulia series exploring the core language and a number of packages.
Topical Highlights
JuliaStats - statistical and machine learning community.
JuliaOpt - optimization community.
JuliaQuantum - Julia libraries for quantum-science and technology.
JuliaGPU - GPU libraries and tooling.
IJulia - notebook interface built on IPython.
Images - image processing and i/o library.
Gadfly - Grammar of Graphics-inspired statistical plotting.
Winston - 2D plotting.
JunoLab - LightTable-based interactive environment.