Added

The constructor for generated PyOpenCL classes now accepts a
command_queue
parameter (#480). 
Transposing small arrays is now much faster when using OpenCL
backend (#478). 
Infix operators can now be defined in prefix notation, e.g.:
let (+) (x: i32) (y: i32) = x  y
This permits them to have type and shape parameters.

Comparison operators (<=, <, >, >=) are now valid for boolean
operands. 
Ordinary functions can be used as infix by enclosing them in
backticks, as in Haskell. They are leftassociative and have
lowest priority. 
Numeric modules now have
largest
/smallest
values. 
Numeric modules now have
sum
,product
,maximum
, and
minimum
functions. 
Added
Werror
command line option to compilers. 
Higherorder functions are now supported (#323).

Type inference is now supported, although with some limitations
around records, inplace updates, andunzip
. (#503) 
Added a range of higherorder utility functions to the prelude,
including (among others):val (>) '^a '^b: a > (a > b) > b val (<) '^a '^b: (a > b) > a > b val (>>) '^a 'b '^c: (a > b) > (b > c) > a > c val (<<) '^a 'b '^c: (b > c) > (a > b) a > c
Changed

FUTHARK_VERSIONED_CODE
is nowFUTHARK_INCREMENTAL_FLATTENING
. 
The SOACs
map
,reduce
,filter
,partition
,scan
,
stream_red,
andstream_map
have been replaced with library
functions. 
The futlib/mss and futlib/lss modules have been rewritten to use
higherorder functions instead of modules.