Skip to content

v18.0.0

Compare
Choose a tag to compare
@Gabriella439 Gabriella439 released this 01 Sep 21:16
· 167 commits to master since this release
4ecd748

Breaking changes:

  • Enable with optimizations

    The standard now gives implementations more freedom to optimize the
    β-reduction of with expressions, mainly in order to avoid pathological
    time and space complexity when interpreting chained with expressions, like:

    r with x.y = a with z = b

    Along the way, this changes how with expressions are encoded in the
    binary representation, which means that this is a technically breaking
    change.

    In practice, you are unlikely to to be affected by this change, except for the
    rare case where you protect an import with a semantic integrity check and the
    contents of the protected import contain a with expression where the
    left-hand side of the with expression is abstract, such as this one:

    λ(x: { a : Natural})  x with a = 42 

    Other than that, semantic integrity checks are not affected because the
    interpreter will β-normalize away the with expression, which will then
    not affect the final hash.

New features:

Other changes: