- Add
[nw]
and[nwr]
weighted random number functions
- Fixed RantConsole adding extra dot to output file extension
- Add
RantEngine.GetLoadedPackages()
- Add
RantEngine.GetLoadedProgramNames()
- Fixed stream not being closed in
RantProgram.SaveToFile
(Thanks to Bomb Mask on Discord for noticing this) - Fixed .rantpgm files not being picked up by RCT's packer (Thanks Nosteme!)
- Add indexer to
RantDictionaryTable
to allow entries to be directly accessed by index - Add
[hastable]
function to determine if a table exists by name - Add
[hasclass]
function to determine if a table has a specific class
- Add missing German localization for "exceeded character limit" message
- Fixed completely spaghettified subroutine backend that could potentially scramble argument order. Ended up refactoring the whole thing. Good lord that was bad.
- Improved memory usage of
RantObject
- Rant now suggests closest function name when user tries to call one that doesn't exist.
- Add
[qexists]
function
- Fixed typo in "linsv" function name
- Rename
[qreset]
to its proper name,[qdel]
- Compiled patterns can now be saved as
.rantpgm
files - Compiler can now emit more than one compiler error
- Dynamic queries
- Plural subtype for queries
- Phrasal complement for queries
- Verbose character literals
- Escape sequences now suppoer surrogate pairs, e.g. emoji
- Patterns can now be passed arguments via
RantProgramArgs
class - Synchronizers have three new modes:
ping
,pong
, andno-repeat
RantFormat
class now supports custom alphabets, number verbalizers, and spaces- German formatter and localization for error messages
- Brand-new command-line tools for compiling, packaging, and more
- Completely revamped variable system integrated straight into the Rant language
- Block output redirection via
[pipe]
function - A lot of new string manipulation and formatting functions
- Query class filters are significantly faster
- Packages can now stores all kinds of crazy metadata, like title, description, authors, and more!
- Packages can have dependencies, which are automatically resolved at load time
- Compiler optimizations galore!