Dear Chapel community --

Cray Inc. and the Chapel open-source community are proud to announce
the release of Chapel version 1.19!  (homebrew users: note that 1.19
is not yet available via homebrew, but should be soon).

This release includes the following highlights:

* support for compile-time operations on `param` floating point values

* the ability to use underscores in numeric values to break long
  values into chunks (e.g., 1_000_000)

* improvements to error-handling, initializers, and strings

* improved lifetime checking, including language support for
  annotating the relative lifetimes of procedure arguments

* compile-time nil-checking

* a distinction between constructs that must be parallel (e.g.,
  `forall` loops) and those that will use parallelism when available,
  but fall back to serial execution otherwise (e.g., promotions,
  reductions, and `[]`-loops)

* index-preservation for promotions and loop expressions over ranges
  as well as index- and shape-preservation for scan expressions

* support for distributed associative domains and arrays via the
  `Hashed` distribution

* convenience functions for creating `Block`- and `Cyclic`-distributed
  domains and arrays

* improved performance as a result of using C standard atomic
  operations by default when using GCC, Clang, or LLVM as the back-end
  compiler

* optimized remote task spawns and communications on Cray systems that
  use `ugni` communication

* a prototype optimization that applies unordered operations to the
  last statements of `forall` loops on Cray systems, enabled using
  --optimize-forall-unordered-ops

* a prototype parallel implementation of scans over local and
  block-distributed 1D arrays, enabled using -senableParScan

* a new OpenFabrics Interfaces option, `ofi`, for libfabric-based
  communication

* a new `c_array` type that can be used to represent static arrays in
  external C code (or the equivalent)

* improved support for Python interoperability as well as initial
  support for interoperating with Fortran including the ability to
  pass 1D arrays between Fortran and Chapel

* improvements to the `Random`, `Sort`, and `Path` modules

* significant improvements to the maturity of the LLVM back-end

And of course, Chapel 1.19 contains many other feature enhancements,
bug fixes, and documentation improvements.  For a far more complete
list of changes including pointers to supporting documentation, please
refer to CHANGES.md within the release or online:

  https://github.com/chapel-lang/chapel/blob/release/1.19/CHANGES.md

To download and install the release, see:

  https://chapel-lang.org/download.html

And for a list of those who contributed to Chapel 1.19, please see:

  https://github.com/chapel-lang/chapel/blob/release/1.19/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 Facebook or Twitter user, or might simply enjoy
checking in on us online from time-to-time, Chapel's social media
pages have a steady stream of content about the project and language:

   https://www.facebook.com/ChapelLanguage
   https://twitter.com/ChapelLanguage

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

The Chapel website can be found at:

   https://chapel-lang.org

and it remains the best place to find Chapel-related information such
as videos, papers, presentations, blog posts, and tutorials.


_______________________________________________
Chapel-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-developers

Reply via email to