TXR is a new data munging language. TXR's special pattern language provides template-based matching of entire documents or large sections of documents. It also contains a language for functional and imperative programming. It is written in C and takes the form of a utility that is portable to Unix-like platforms and Windows.
|Tags||text analysis text formatting Text Processing parsing pattern matching Lisp Interpreters unix tool functional language pipes template processor Template engine|
|Implementation||C Flex Bison|
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.