Release Notes: TXR programs can now be split into modules. Embedded TXR Lisp can now call back into the pattern language. Exception handling is now exposed in TXR Lisp. Optional arguments are supported in TXR Lisp functions. The braced variable substitution syntax in output has been extended to do arbitrary expressions, and its indexing notation is now generic over vectors and strings. More generic sequence functions have been added to the library, including a generic sort. There's a new del operator for deleting sequence elements/ranges and hash elements denoted by the bracket syntax.
Release Notes: "Freeform" scanning (treating an arbitrarily sized remainder of the input as one big string) is now possible in constant memory. Bugs in hex and octal character constants, the format function, and printing of string objects were fixed.
Release Notes: This release fixes incorrect UTF-8 decoding of a valid character range, and closes security issues related to UTF-8 decoding and re-encoding. A regression that broke computed field widths in release 55 is fixed. Hex and octal escapes in string literals and quasiliterals are now recognized like the documentation says. The [...] notation now has evaluation semantics for symbolic arguments which are like Lisp-1. An operator called op has been introduced for writing simple lambdas with a currying syntax with numbered and implicit arguments.
Release Notes: This release introduces a new square bracket syntax that performs an intuitive operation based on the type of the first object. It provides Lisp-1 style calls for functions (no call operator) and array indexing and slicing for lists, vectors, strings, and hashes. Indexed elements and slices are assignable. Indexing and slicing can be used in the output template language and in string quasiliterals.
Release Notes: The main improvement in this release relates to the debugger. It is now possible to step into, over, or out of expressions, and see a complete environment and backtraces. A lazy version of "append" has been added to the embedded Lisp.
Release Notes: New functions and operators were included in the Lisp dialect for lazy list processing and parallel iteration. Variable substitutions in output and quasiliterals can have computed field widths. A showstopper bug in the evaluation of built-in global variables was fixed.
Release Notes: This release adds a new fuzz directive for imperfect matches over a range of lines, similar to the context line fuzz in the patch utility. The gather directive has been extended with an optional until/last clause to limit its range. New mod and modlast directives in repeat/rep specify alternative output when the repeat count is equal to some n modulo m. repeat/rep take an argument which nominates a variable which holds the repeat count. A gensym function has been added to TXR Lisp. Bugfixes have been made.
Release Notes: This release fixed several bugs, including a showstopper in bignum integers on 32-bit platforms. There are improvements in the areas of pseudo-random number generation and lazy list processing.
Release Notes: This release contains several critical bugfixes. There is some new functionality, including a new API for pseudo-random-number generation. More documentation has been written.
Release Notes: There are improvements in embedded TXR Lisp in the areas such as character handling and lazy lists. Quasiliteral strings now work in Lisp. New comment syntax. Bugfixes: broken abs function over bignums and others.