0.23.1
Added
-
f16.log1p
/f32.log1p
/f64.log1p
by nbos (#1820). -
Better syntax errors for invalid use of
!
. -
futhark literate
now supports a$loadaudio
builtin function for loading
audio to Futhark programs (#1829). -
You can now mix consumption and higher-order terms in slightly more
cases (#1836). -
futhark pkg
now invokes Git directly rather than scraping
GitHub/GitLab. This means package paths can now refer to any Git
repository, as long asgit clone
works. In particular, you can
use private and self-hosted repositories. -
Significant reduction in compilation time by doing internal sanity
checks in separate thread. -
New command:
futhark eval
. Evaluates Futhark expressions
provided as command line arguments, optionally allowing a file
import (#1408). -
script input
now allows the use of$loaddata
. -
Datasets used in
futhark test
andfuthark bench
can now be named
(#1859). -
New command
futhark benchcmp
by William Due.
Changed
- The C API function
futhark_context_new_with_command_queue()
for
the OpenCL backend has been replaced with a configuration setting
futhark_context_config_set_command_queue()
.
Fixed
-
Minor parser regression that mostly affects the REPL (#1822).
-
Parser did not recognise custom infix operators that did not have a
builtin operator as prefix (#1824). -
GPU backends: expansion of irregular nested allocations involving
consumption (#1837, #1838). -
CLI executables now handle entry points with names that are not
valid C identifiers (#1841). -
Various oversights in the type checking of uniqueness annotations
for higher-order functions (#1842). -
Invalid short-circuiting could cause compiler crashes (#1843).
-
Defunctionalisation could mess up sum types, leading to invalid code
generation by internalisation, leading to a compiler crash (#1847). -
The
#[break]
attribute now provides the right environment to
futhark repl
, allowing local variables to be inspected. -
Simplification of concatenations (#1851).
-
Array payloads in sum types no longer need parens (#1853).
-
When a file is loaded with
futhark repl
,local
declarations are
now available. -
Missing alias propagation when pattern matching incompletely known
sum types (#1855). -
reduce_by_index
andhist
were in some cases unable to handle
input sizes that do not fit in a 32-bit integer. -
A fusion bug related to fusing across transpositions could result in
a compiler crash (#1858).