v7.0.0
Added
- Added support for
EXIT
opcode viaexit : (string) => 'a
function (behaves same asABORT
, but consumes all gas). - Compiler warnings for the following: shadowing, negative spends, division by zero, unused functions, unused includes, unused stateful annotations, unused variables, unused parameters, unused user-defined type, dead return value.
- The pipe operator |>
[1, 2, 3] |> List.first |> Option.is_some // Option.is_some(List.first([1, 2, 3]))
- Allow binary operators to be used as lambdas
function sum(l : list(int)) : int = foldl((+), 0, l) function logical_and(x, y) = (&&)(x, y)
- Contract interfaces polymorphism
Changed
- Error messages have been restructured (less newlines) to provide more unified errors. Also
pp_oneline/1
has been added. - Ban empty record definitions (e.g.
record r = {}
would give an error).
Removed
- Support for AEVM has been entirely wiped