Releases: arturo-lang/arturo
Releases · arturo-lang/arturo
v0.9.83
v0.9.82
Official Release
Release date: 09/02/2022
Change Log
Documentation
- Added numerous new Rosetta Code examples
- Minor fixes in existing examples and/or function signatures
Language
- Added new
:rationaltype (along with all relevant operations) - Added new
:quantitytype (measurements + unit support, along with all relevant operations) - Added new
:rangetypes (with all relevant..operations returning a new Range value) - Added new
:storetype (persistent dictionary-like storage on disk) - Added new
:sockettype - Added scientific notation support for number literals
- Changed scoping rules (most blocks will now be completely scope-less, with the exception of iterators & functions)
Library
New
- Arithmetic: added new
divmodmethod - Collections: added new
combine,decouple,one?,prepend,rotate&tallymethods - Comparison: added new
between?&comparemethods - Converters: added new
in&storemethods - Core: added new
coalescemethod - Dates: added new
sunday?,monday?,tuesday?,wednesday?,thursday?,friday?&saturdaymethods - Files: added new
hidden?,move×tampmethods - Iterators: added new
arrange,chunk,cluster,collect,enumerate,gather,maximum&minimummethods - Net: added new
browsemethod - Numbers: added new
clamp,denominator,factorial,infinite?,lcm&numeratormethods - Paths: added new
absolute?method - Reflection: added new
bytecode?,color?,complex?,object?,quantity?,rational?,range?&version?predicates - Sets: added new
disjoint?method - Sockets: added
accept,connect,listen,receive,send,send?&unplugmethods - Strings: added new
alphabet,match?&translatemethods - System: added new
superuser?predicate
Enhancements, Changes & Fixes
- Arithmetic\dec: added support for Complex numbers
- Arithmetic\inc: added support for Complex numbers
- Arithmetic\mod: added support for floating number modulo operations
- Arithmetic\pow: added support for Rational numbers
- Collections\chop: added
.times:option & fixed to also work with empty blocks - Collections\combine: renamed to
couple - Collections\contains?: added
.at:option &:charsupport for string searches - Collections\drop: fixed to also work with empty blocks
- Collections\first: fixed to also work with empty blocks
- Collections\flatten: added support for Literal values
- Collections\in?: added
.at:option &:charsupport for string searches - Collections\last: fixed to also work with empty blocks
- Collections\max: added
.indexoption - Collections\min: added
.indexoption - Collections\permutate: re-implemented and now works with a
.byand.repeatedoption - Collections\remove: fixed
.once& added new.instanceoption - Collections\reverse: added
.exactoption - Collections\sample: fixed to also work with empty blocks
- Collections\sort: added
.asciioption & fixed to also work with empty blocks - Collections\take: fixed to also work with empty blocks
- Converters\to: added support for
:complexto:blockconversion - Core\case: made function work with null sets (ø)
- Iterators: all iterator methods re-implemented and now work with a
.withoption and also with anullparam block - Iterators\filter: added
.firstand.lastoptions - Iterators\select: added
.first,.lastand.noptions - Numbers: made all trigonometric function work with
:quantityvalues - Numbers\e: renamed back to
epsilon - Numbers\infinity: renamed to
infinite - Numbers\negative?: added support for Floating, Complex & Rational values
- Numbers\positive?: added support for Floating, Complex & Rational values
- Numbers\product: added
.cartesianoption - Numbers\range: make function work even with .step =< 0 + moved to Converters
- Reflection\info: show origin module for built-in functions/constants
- Strings\capitalize: added support for
:charparameters - Strings\match: better implementation with more options (
once,capture,named,bounds,in,full)
Misc
- Fixed multi-line string handling in REPL
- Fixed thick-arrow-right (
=>) syntac sugar handling in label + function assignments - Fixed handling of arithmetic operations between
:floatingvalues and big:integervalues - Fixed handling of Unicode, locale-dependent sorting (including non-ASCII languages & sorting using digraphs/trigraphs, e.g. Hungarian)
- Functions in dictionaries are now directly callable (e.g.
dict\f 10) - Better support for Bytecode handling (+ built-in compression)
- Various performance-related enhancements (> ~500% performance boost)
v0.9.82-pre2
Official Release
refs/tags/v0.9.82-pre2
v0.9.80
Official Release
refs/tags/v0.9.80
v0.9.78
Official Release
refs/tags/v0.9.78
v0.9.77
Official Release
refs/tags/v0.9.77
v0.9.76
Official Release
refs/tags/v0.9.76
v0.9.75
Official Release
refs/tags/v0.9.75
v0.9.7.4
Official Release
refs/tags/v0.9.7.4
v0.9.7.2
Official release: v0.9.7.2
Changes
- Better handling of function arity and function calls
- Added non-string support for
:dictionarykeys - Added support for custom user-defined types
- Added numerous Rosetta Code examples (and corresponding unit tests)
- Added support for doublecolon (
::) symbols as block-generator syntactic sugar - Vast improvement of error reporting, avoiding crashes and with much more helpful error messages
- Greatly enhanced REPL - with saveable/restorable history, tab-completions and as-you-type hints
- Updated workflows: added support for Windows & FreeBSD pre-built binaries in Releases & Nightly builds (mini versions)
- Fixed packager script
- Codebase cleanup
- Numerous minor fixes & additions
Library
- Collections: added
squeeze - Converters: added
with - Core: added
unless,unless? - Io: added
cursor,goto,terminal - Sets (new):
intersect,union,difference,subset?,superset? - System: added
env - Added
.codeoption foras - Added
.mutedoption forinspect - Added
.importoption forfunction - Added unicode support for
split - Added string support for
loop - Numerous other additions