Release Notes: This release adds big improvements to the generational garbage collector, which is now released and built by default. There are some new macros and functions. Word list literals and quasiword list literals have been added to the syntax. Bugfixes have been made.
Release Notes: This release adds some minor new functionality, fixes a broken floating-to-integer conversion function, and resolves a nagging syntactic issue.
Release Notes: This release adds some new syntactic sugar in the pattern language. On platforms which have sigaltstack, TXR programs can now catch and recover from a SIGSEGV caused by runaway recursion. A new prof operator measures the bytes allocated during the evaluation of an expression and the CPU time consumed. The API is now exposed to the trie data structure. Some new functions are added, and at least fourteen bugfixes.
Release Notes: An important change in quasiquote syntax that breaks backward compatibility (albeit trivially). A new assert directive in the pattern language. Functions for environment manipulation are exposed. New functions for simplifying the opening of multiple files as one big stream. A base ten log function. print-line can be called with no arguments. Fixes broken support for dynamic field widths and precisions in the format function. Fixes a few minor bugs in the main command line processing and elsewhere.
Release Notes: Ad-hoc code expansions have been turned into formal macros. Quasiquoting has been made hygienic. A new macro operator "gun" joins the arsenal of lazy-list generation methods. A generic copy function to duplicate any kind of sequence. A regression in handling of floating-point constants; incorrect handling of lexical variable shadowing by lexically scoped symbol macros; special variable rebinding not working for built-in globals; Lisp-1 style evaluation not seeing overridden specials; and missing garbage collector hooks in concatenated stream objects have been fixed.
Release Notes: There are big improvements in TXR Lisp: adds dynamically scoped variables, lexically scoped macros (macrolet operator), and global and lexical symbol macros (defsymacro and symacrolet) with all the proper scoping and macro evironment access. Various new functions are introduced. Bugfixes were made in numerous areas: quasiquotes, the open-tail function, the debugger, the bignum square root function, missing s-ifsock, source code location tracking, and code transformation.
Release Notes: TXR now transparently handles null characters in text streams. Unhandled exceptions in C library routines now give the nearest source location in TXR code. TXR Lisp now has macros, with a defmacro operator that supports nested lambda lists. Destructuring operators called tree-bind and tree-case are introduced. Hashes are now deeply compared under the equal function, by their content and other attributes, rather than treated as pointers. New ways to access hash tables were provided. Hash union and diff can specify join functions to merge the data. There were also other new features plus quite a few significant bugfixes.
Release Notes: New functions for lazy generation of repeating and non-repeating permutations and combinations. A bugfix in quasistrings.
Release Notes: Improvements in the apply function, reduce-left, and reduce-right, and improved design and implementation of optional arguments. Lists, vectors, and strings are now generally function-callable, not only under the dwim operator. Some new functions were added. Bugs in the do operator were fixed along with some other problems.
Release Notes: General parser improvements were made. Nested op syntax (for partial evaluation) now has a way for inner nestings to refer to the parameters of outer nestings. New convenience functions were added for updating sequences and hashtables in-place. New catenated input streams were implemented for treating multiple streams as one virtual stream. Semantic improvements were made in reduce-left and reduce-right. Library functions for removing and renaming files were added. Expressions that give default values to optional function parameters can now refer to the values of previous parameters, not just the surrounding lexical scope. Bugs were fixed.