2024
removed wip operator ::
wip enums and the keyword enum
changed Float64#hash and Float32#hash to cooperate with Equals and Identity semantics
added Base64 encoder
Array#includes, List#includes, HashMap#includes, HashSet#includes
wip unions
wip RiscV backend
wip semicolon inference
wip language support for *.properties files
2023
removed operator =>
keyword match
catch-all branch _
changed keyword struct to value
use declarations to use . instead of ::
added keyword is
keyword union
RiscV (macro) assembler
unified condition expressions
intrinsics for total order comparison of floats on arm64
Int64#reverseBytes, Int64#reverseBits
Int32#reverseBytes, Int32#reverseBits, Int32#asInt64
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