All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog. For information on Aria's versioning scheme and release policy refer to our Release Policy.
- Values of builtin types can now be checked for
mixin - Lists and strings allow wraparound indexing (e.g.
foo[-1]) - shift-equal operators (
<<=and=>>) \ris now recognized as a valid escape sequenceJSONValueprettyprints
- Multiplying a list or string by a negative integer returns an empty value
File.writelnnow actually writes a newline- REPL input can now contain comments
MixinRng.one_ofwill fail if passed an empty list as input- String classes API now supports Unicode
- Negative timestamps are now resolved correctly by
Instant
- in
matchstatements,case Foo(blah)will fail ifFoodoes not have a payload instead of throwing a VM error String.hashwill return different values for anagrams
None
None
- Add support for
??and!!operators toMaybeobjects - Support for skipping and truncating iterators
SipHashsupport has been added to the standard library- Benchmarking utilities have been introduced to measure performance of code snippets
Listcan now be hashed if all its values are hashablePath.glob- Initial support for widgets as a code organizing structure
- Draft language server protocol (LSP) support for better IDE integration
- It is now possible to write
x,y = y,xfor swapping values (multiple assignment) and to declare multiple variables in one statement (val x = 1, y = 2;) Map.frequency_maphas been added to create frequency maps from iterables- Intersection types (
TypeA & TypeB) have been introduced
Mapwould error if an object'shashreturned a negative value; it now handles this correctly- It is now possible to write to a captured value without reading it
isanow works with mixins
Path.entries()returns an iterator instead of a list for better performancePathoperations consistently returnMaybe/Resulttypes for improved error handlingIteratorusesMaybeinstead of.donefor its iteration protocol- Hexadecimal literals are treated as unsigned integers
- Aria now lives under the
arialangGitHub organization (https://github.com/arialang/aria)
None
None