2026-04-09 - 0.20.5 - added functions group() and groupby() to create a grouped list of lists and groupbyH() to create a hash of lists - added string modifier *marks* to include quote marks in a string or regex - eliminated option to use greater than/less than or square brackets or parentheses marks as quote marks - (internal) changed lexing string and quote marks to verify validity and make more flexible 2026-03-21 - 0.20.4 - fix: parameters not to resolve while setting default values for other parameters of the same function - fix: parameter default values (ones not known at compile-time) resolving at wrong level (producing bad opcodes) - eliminated parameter mutability option for now - string of builtin function uses function signature (like compiled functions already do) - (internal) changed output functions in interactive package to be consistent 2026-03-08 - 0.20.3 - changed checking for function with *is* and *is not* operators to use the *fn* token instead of string "callable" - eliminated defining functions with short-form - (internal) changed negation of OpIs, OpIn, and OpOf to use code for negation instead of more opcodes - (internal) added reserved keyword *ref* - (internal) renamed parser.peekContext() as parser.checkContext() to avoid confusion - (internal) removed range.CopyRefs() as dead code 2026-01-25 - 0.20.2 - fixed duration object creation to not allow negative numbers - creation of duration from hash now ignores missing keys instead of throwing an error - (internal) removed dead code about Gregorian date/time - (internal) added *Public* field to ast.LineDeclarationNode; initial parsing of *public* keyword (no compiling) - (internal) removed all reserved keywords except *type* 2025-10-23 - 0.20.1 - renamed parameter "by" as "delim" for join() and split() functions - updated tran() function to be able to transliterate from a hash instead of two lists - added optional parameter "delim" to tran() function (default zero-length string) - added optional parameter "interp" to replace() function (default true), to specify whether to interpolate submatches or not - allow indexing hash by numeric range - updated simplify() function to accept complex number - (internal) added object.ISimplify interface 2025-09-16 - 0.20.0 - added limited explicit type checking for function parameters (checks type of argument passed) - moved variable and parameter expansion parsing from before name to after - (internal) added Type field to object.Parameter struct and to object.Signature struct for function Signatures - (internal) added Type field to symbol.Symbol struct, but not used so far - (internal) return error when requesting alternate return type on index when there is no alternate return type
A full revision history is included in the download.
Langur uses the Apache license 2.0.