Skip to content

v7.0.0

Compare
Choose a tag to compare
@radrow radrow released this 31 Jul 14:21
· 65 commits to master since this release
4dbc985

Added

  • Added support for EXIT opcode via exit : (string) => 'a function (behaves same as ABORT, 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