2023
removed operator =>
keyword match
catch-all branch _
wip operator ::
wip enums and the keyword enum
changed keyword struct to value
added unified condition expressions
intrinsics for total order comparison of floats on arm64
Int64#reverseBytes, Int64#reverseBits
Int32#reverseBytes, Int32#reverseBits, Int32#asInt64
wip keyword is
wip semicolon inference
wip RiscV backend
wip unions and the keyword union
2022
removed operator ->
keyword mut
unary operator !
binary operator %
binary operators <<, >>, >>>
procedure syntax
mutable function parameters
control flow keywords break and continue
changed name of class Vec to List
numeric literal separator from _ to '
type of integer literals from Int32 to Int64
require result type for functions and lambdas
number literal suffixes from L/I/D/F to i64/i32/f64/f32
added named arguments
hash code field to String
intrinsics for rounding floats
unified condition expressions
var as a replacement for let mut
implementation of trait Hash for String
intrinsics for total order comparison for floats on x64
higher-order functions to classes Array and List
higher-order functions to enums Option and Result
implementations of traits Equals, Hash, Stringable to enums Option and Result
2021
changed annotation processing
precedence of operator &
names of panicking methods in Option and Result
added intrinsics for the absolute value of floats
more functionality to types Array, Result, String and Vector
2020
removed keyword nil
exceptions
keyword loop
changed change result type syntax from -> to :
added enums
tuples
modules
varargs
keyword annotation
traits Zero and Sizable
intrinsics for bit manipulation instructions popcnt/lzcount/tzcount
2019
removed secondary constructors
modifiers, replaced with annotations
changed syntax of generics from <>/::<> to []
name of Int/Long and Float/Double to Int32/Int64 and Float32/Float64
added type Option
universal === operation
traits Equals, Identity, Hash, Default, Comparable, Sortable, Stringable