Added
-
The
real
module type now specifiestan
. -
futharki
now supports entering declarations. -
futharki
now supports a:type
command (or:t
for short). -
futhark-test
andfuthark-benchmark
now support gzipped data
files. They must have a.gz
extension. -
Generated code now frees memory much earlier, which can help
reduce the footprint. -
Compilers now accept a
--safe
flag to make them ignoreunsafe
. -
Module types may now define lifted abstract types, using the
notationtype ^t
. These may be instantiated with functional
types. A lifted abstract type has all the same restrictions as a
lifted type parameter.
Removed
-
The
rearrange
construct has been removed. Usetranspose
instead. -
futhark-mode.el
has been moved to a separate
repository. -
Removed
|>>
and<<|
. Use>->
and<-<
instead. -
The
empty
construct is no longer supported. Just use empty
array literals.
Changed
-
Imports of the basis library must now use an absolute path
(e.g./futlib/fft
, not simplyfutlib/fft
). -
/futlib/vec2
and/futlib/vec3
have been replaced by a new
/futlib/vector
file. -
Entry points generated by the C code backend are now prefixed with
futhark_entry_
rather than justfuthark_
. -
zip
andunzip
are no longer language constructs, but library
functions, and work only on two arrays and pairs, respectively.
Use functionszipN/unzipN
(for2<=n<=8
).
Fixed
-
Better error message on EOF.
-
Fixed handling of
..
inimport
paths. -
Type errors (and other compiler feedback) will no longer contain
internal names. -
futhark-test
and friends can now cope with infinities and NaNs.
Such values are printed and read asf32.nan
,f32.inf
,
-f32.inf
, and similarly forf32
. Infuthark-test
, NaNs
compare equal.