See the complete language manual and library reference here.
2021.04.17 — More bug fixes. Fixed a crash on Windows when calling web.server.run() without use().
Fixed crash when using the * operator to allocate memory when given a negative size.
Fixed parsing errors on files with no trailing newline.
Fixed REPL not working when used with a debugger like lldb.
Fixed potential issues with calling web.req() from multiple threads.
Added os.wait() and os.done() to deal with child processes on Posix.
Fixed os.exepath() on Linux and Raspberry Pi.
2021.03.14 — Numerous bug fixes and improvements:
fixed os.mkdir()/web.dl()/import(url) not working in Windows;
fixed number.comma() not working for negative numbers, and also added precision parameter;
improved @zip interface;
add support for fractional numbers and precision in number.base()/string.parse_base().
The first Axiom tutorial is out! You can view the slides here:
Stock Market Analysis using Axiom.
2021.01.31 — Added the matrix module! Axiom is now feature-complete; expect no more major changes or additions.
2020.12.04 — In for loops over strings, iterate over code points instead of bytes.
The most common use case of string for loops is to iterate over text,
in which case the code points are more useful, especially for foreign languages.
2020.11.01 — Updated SQLite to version 3.33.0. This improves SQLite performance and adds some more extensions.
Also added missing shift operators (<< and >>).
2020.10.16 — Removed dependency on libreadline and replaced it with my
read_line library. This improves cross-platform REPL support and behavior.
2020.09.04 — Function and class references are now opaque objects ("scopes") instead of magic strings ("addresses").
This change should be transparent for most users. This improves performance and fixes some obscure bugs.
Also fixed string.escape()/unescape() for Unicode surrogate pairs (emojis), clarified docs on ?= operators, added special case for += operator,
and added string.search() to search for wildcard patterns.
2020.08.09 — String elements are now (single-character) strings instead of (byte) numbers.
Added string.byte() to explicitly retrieve byte value. Updated and improved documentation.
2020.03.21 — Improved for-loop semantics to support collections. Added calendar module. Added number.format().
Various library changes. Entering the REPL will now report a build date.
2019.11.23 — Added image module! Also improved documentation in various places.
2019.10.02 — Language tweaks: allow :main() redefinition, environment variables in :import(), and blank return statements.
2019.09.06 — Streamlined core methods and improved documentation.
2019.08.16 — Added web.server module! Also fixed bugs in Vim highlighter, and made other minor improvements.
2019.05.04 — Lots of performance improvements. Also added syntax highlighters for VS Code and Vim.
2019.04.07 — Added REPL and several new modules: io.csv, io.html, io.ini, io.json, web, sqlite, zip. Also improved performance.