Releases: PlutoLang/Pluto
Releases · PlutoLang/Pluto
0.4.2
0.4.1
0.4.0
Additions:
- Walrus Operator
- Default parameters for functions.
- New standard library:
lcryptlib
, for various hash algorithms and cryptographic PRNGs. - New warnings:
- Unreachable code.
- Too many function arguments.
Improvements:
- Switch case may now use variables.
- Shorthand ternary syntax from C/C++.
- Warnings can be configured with comments.
- Improved performance of some common arithmetic algorithms.
- VM Dumping has been rewritten for superb runtime detail on all opcodes, their arguments, their results, etc.
string.upper
&string.lower
take a second parameter indicating a specific index to change. Absence of this parameter preserves default behavior.
0.3.2
Improvements:
io.copyto
will now overwrite existing files instead of throwing an exception.- Improve error handling of other exception-prone IO functions.
0.3.1
Bugfix:
- String.split would previously invoke an infinite loop when an empty string is used as the delimiter.
0.3.0
Additions:
- Inlined method creation.
- STR in STR expressions.
- KEY in INDEXABLE expressions.
- Generalized iteration, no need for
pairs
. io.listdir
- Reserved keywords as valid fields.
- Null-coalescing operator (w/ compound operator).
continue N
&break N
for manipulating outer loops.- Optional type-hinting, with parser warnings.
- Safe accessor navigation, to avoid "attempt to index nil" errors for deeply nested fields.
Changes:
table.contains
now returns an index if found and nil otherwise (previously returned true or false).
Improvements:
- Switch no longer has syntactic restrictions
- Greater switch performance
Documentation for the new changes can be found here.
0.2.2
0.2.1
0.2.0
- Added compile-time warnings for duplicate local declarations
- Added optional ANSI color sequences in various error & warning messages
- Added support for ternary expressions
- Added continue statement
- Added Table Freezing / Immutability
- Added Switch/Case statements
- Added user_data to global_State
- Added !=
- Added compatibility mode
- Added table.contains
- Added new time functions to os api
- Added negative string indexing
- Added compound concatenation operator
- Added new string functions
- Added portable jumptable implementation that can be optionally enabled
- Added REPEAT .. WHEN loop support
- Added new IO library functions
- Added _PVERSION
- Implemented table length cache optimisation (2x speedup)
- Implemented optional parentheses around string literals for method invocation
- Increased local variable limit from 200 to 249
- Rebased with Lua for latest bugfixes