Added
-
New fusion engine by Amar Topalovic and Walter Restelli-Nielsen.
Fuses more, which is good for some programs and bad for others.
Most programs see no change. This is mainly a robust foundation for
further improvements. -
New experimental backend:
ispc
. By Louis Marott Normann,
Kristoffer August Kortbæk, William Pema Norbu Holmes Malling, and
Oliver Bak Kjersgaard Petersen. -
New prelude functions:
hist
,spread
. These function as
non-consuming variants ofreduce_by_index
andscatter
. -
Using
==
to compare arrays is now deprecated. -
New command:
futhark tokens
. You probably don't care about this one. -
In the C API, opaque types that correspond to tuples or records can
now have their elements inspected and be created from elements
(#1568). -
New server protocol commands:
types
,fields
,entry_points
. -
Tuples and records can now be passed from FutharkScript to Futhark
entry points (#1684).
Fixed
-
Sometimes missing cases in
match
expressions were not detected. -
A defective simplification rule could in very rare cases lead to
infinite recursion in the compiler (#1685). -
Some broken links in
futhark doc
output (#1686). -
Incorrect checking of whether a function parameter is consumable
based on its type (#1687). -
Missing aliases for functions that return multiple aliased values
(#1690). -
new
/values
functions for GPU backends are now properly
asynchronous (#1664). This may uncover bugs in application code.