Hi Chapel community --
Cray Inc. and the Chapel open-source community are proud to announce
the release of Chapel version 1.18! This release includes the
following highlights:
* classes now support multiple flavors of lifetime management, where
the default has changed from 'unmanaged' (user must delete) to
'borrowed' (objects will be auto-freed at the end of their scope);
other options include 'owned' and 'shared', which support ownership
transfers and reference counting, respectively
* a new compile-time lifetime checker helps guard against referring
to previously freed class objects
* Chapel's package manager, 'mason' now supports external dependencies
for both system- and 'Spack'-managed packages; 'mason' also now
supports the ability to test packages and add examples to them
* loop expressions and promoted calls over domains and arrays now
preserve the shape and index set of the leading expression
* forall loops now support task-private variables
* all records and classes now use initializers by default, and
constructors have been deprecated due to the increased power and
flexibility of initializers
* child classes that want to override ancestor class methods must now
use the 'override' keyword to do so, as a means of guarding against
common errors
* enumerated types are now purer with respect to casts, coercions, and
underlying integer values; users can also now declare ranges, domains,
and arrays whose indices are enum values (e.g., red..violet)
* initial support has been added for UTF-8 strings
* new 'HDF5' and 'NetCDF' package modules have been added for reading
data from files in those formats
* the 'LinearAlgebra' module has improved in terms of both performance
and usability
* new buffered versions of the non-fetching atomic operations are
available, which can lead to performance improvements on Cray systems
* 'sync' variables and parallel I/O have been optimized when using
'qthreads' tasking
* large data transfers, non-fetching atomics, and on-clauses have all
been optimized for Cray systems
* task stacks have been improved in terms of memory utilization and
reduced fragmentation
* Chapel's support for creating libraries that can be called from C or
Python has improved significantly
* Chapel's support for ARM systems has improved
* new scripts are now provided to help build and maintain Chapel
configurations
* compilation time has been reduced for most programs
And of course, Chapel 1.18 contains a very large number of other
feature enhancements, bug fixes, and documentation improvements. For
a far more complete list of its changes including pointers to related
documentation, please refer to CHANGES.md within the release or
online:
https://github.com/chapel-lang/chapel/blob/release/1.18/CHANGES.md
To download and install the release, see:
https://chapel-lang.org/download.html
And for a list of those who contributed to the release, refer to:
https://github.com/chapel-lang/chapel/blob/release/1.18/CONTRIBUTORS.md
As always, we're interested in feedback on how we can make the Chapel
language, implementation, libraries, and tools more useful to you.
On behalf of the Chapel project,
-Brad Chamberlain
------------------------------------
For further information about Chapel
------------------------------------
Whether you're a devoted Facebook or Twitter user, or might simply enjoy
checking in on us from time-to-time, our project's social media pages have
a steady stream of content about the project and language:
https://www.facebook.com/ChapelLanguage
https://twitter.com/ChapelLanguage
https://www.youtube.com/channel/UCHmm27bYjhknK5mU7ZzPGsQ/
Our development repository is hosted at GitHub, making it the best
place to track or contribute to ongoing Chapel development:
https://github.com/chapel-lang/chapel
Our main project page is located at:
https://chapel-lang.org
and it remains the best place to find Chapel-related information such
as videos, papers, presentations, blog posts, tutorials, and the like.
_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers