Added
-
The internal representation of parallel constructs has been
overhauled and many optimisations rewritten. The overall
performance impact should be neutral on aggregate, but there may
be changes for some programs (please report if so). -
Futhark now supports structurally typed sum types and pattern
matching! This work was done by Robert Schenck. There remain
some problems with arrays of sum types that themselves contain
arrays. -
Significant reduction in compile time for some large programs.
-
Manually specified type parameters need no longer be exhaustive.
-
Mapped
rotate
is now simplified better. This can be
particularly helpful for stencils with wraparound.
Removed
- The
~
prefix operator has been removed.!
has been extended
to perform bitwise negation when applied to integers.
Changed
-
The
--futhark
option forfuthark bench
andfuthark test
now
defaults to the binary being used for the subcommands themselves. -
The legacy
futhark -t
option (which did the same asfuthark check
) has been removed. -
Lambdas now bind less tightly than type ascription.
-
stream_map
is nowmap_stream
andstream_red
is now
reduce_stream
.
Fixed
-
futhark test
now understands--no-tuning
as it was always
supposed to. -
futhark bench
andfuthark test
now interpret--exclude
in
the same way. -
The Python and C# backends can now properly read binary boolean
input.