H ? « »

Language peer sets for TXL:
Canada
Canada/1985
Designed 1985
1980s languages
Fifth generation
Late Cold War

TXL(ID:1444/txl001)

alternate simple view
Country: Canada
Designed 1985
Published: 1988


TXL is a unique programming language specifically designed to support computer software analysis and source transformation tasks. It is the evolving result of more than fifteen years of concentrated research on rule-based structural transformation as a paradigm for the rapid solution of complex computing problems.

The TXL programming language is a hybrid functional / rule-based language with unification, implied iteration and deep pattern match.

Each TXL program has two components:

A Description of the Structures to be Transformed
- Specified as a directly interpreted BNF grammar, in context-free ambiguous form.

A Set of Structural Transformation Rules
- Specified by example as pattern/replacement pairs combined using functional programming.

The TXL programming language is unique in that it is has a pure functional superstructure that provides scoping, abstraction, parameterization and recursion, over Prolog-like structural rewriting rules providing pattern search, unification and implicit iteration.

The formal semantics and implementation of TXL are based on formal tree rewriting, but the trees are largely hidden from the user due to the by-example style of rule specification.

TXL is a first-order pure functional language with embedded term rewriting. It's related to other term rewriting languages, like Stratego and Elan.

The TXL project began in 1985 with Charlie Halpern's MSc thesis, and was first published in 1988 at ICCL'88.



People:
Structures:
Related languages
Turing TXL   Subsystem
TXL MALPHA   Spec written in

References:
  • Cordy, J.R.; Halpern, C.D. and E. Promislow, (1988) Cordy, J.R.; Halpern, C.D. and E. Promislow, "TXL: A Rapid Prototyping System for Programming Language Dialects", Proc. IEEE 1988 International Conference on Computer Languages, October 1988, pp. 280-285. pdf
  • Cordy, James R. and Promislow, Eric (1990) Cordy, James R. and Promislow, Eric "Specification and automatic prototype implementation of polymorphic objects in Turing using the TXL dialect processor"
          in [Proceedings] (1990) Proceedings of 1990 International Conference on Computer Languages (ICCL), March 12-15, 1990, New Orleans, IEEE Computer Society Press (Los Alamitos, CA, 1990),
  • Cordy, J. R.; Halpern, C. D.; and Promislaw, E. (1991) Cordy, J. R.; Halpern, C. D.; and Promislaw, E. "TXL: A rapid prototyping system for programming language dialects"
          in (1991) Computer Languages 16(1)
  • Malton, Andrew J. (1993) Malton, Andrew J. "The Denotational Semantics of a Functional Tree-Manipulation Language" pp.157-168.
          in (1993) Computer Languages 19,3 (July 1993)
  • Sarkar, M. Shukla; Blostein, D. and Cordy, J.R. (1998) Sarkar, M. Shukla; Blostein, D. and Cordy, J.R. "GXL - A Graph Transformation Language with Scoping and Graph Parameters", Proc. TAGT'98 - Theory and Applications of Graph Transformations, Paderborn, Germany, November 1998
          in (1993) Computer Languages 19,3 (July 1993)
  • Cordy, J.R.; Dean, T.R.; Malton, A.J. and Schneide (2001) Cordy, J.R.; Dean, T.R.; Malton, A.J. and Schneider, K.A. "Software Engineering by Source Transformation - Experience with TXL", Proc. SCAM'01 - IEEE 1st International Workshop on Source Code Analysis and Manipulation, Florence, November 2001, pp. 168-178.
          in (1993) Computer Languages 19,3 (July 1993)
  • Cordy, J.R.; Schneider, K.A.; Dean, T.R.; and Malt (2001) Cordy, J.R.; Schneider, K.A.; Dean, T.R.; and Malton, A.J. "HSML: Design Directed Source Code Hot Spots", Proc. IWPC 2001 - IEEE 9th International Workshop on Program Comprehension, Toronto, May 2001, pp145-154.
          in (1993) Computer Languages 19,3 (July 1993)
  • Cordy, J.R.; Dean, T.R.; Malton, A.J. and Schneide (2002) Cordy, J.R.; Dean, T.R.; Malton, A.J. and Schneider, K.A. "Source Transformation in Software Engineering using the TXL Transformation System", Journal of Information and Software Technology 44,13 (October 2002), pp. 827-837.
          in (1993) Computer Languages 19,3 (July 1993)
  • Dean, T.R.; Cordy, J.R.; Malton, A.J. and Schneide (2002) Dean, T.R.; Cordy, J.R.; Malton, A.J. and Schneider, K.A. "Grammar Programming in TXL", Proc. SCAM'02 - IEEE 2nd International Workshop on Source Code Analysis and Manipulation, Montreal, October 2002, pp. 93-102.
          in (1993) Computer Languages 19,3 (July 1993)
  • Cordy, J.R. (2004) Cordy, J.R. "TXL - A Language for Programming Language Tools and Applications", Proc. LDTA 2004, ACM 4th International Workshop on Language Descriptions, Tools and Applications, Barcelona, April 2004, pp. 1-27.
          in (1993) Computer Languages 19,3 (July 1993)
  • Dean, T.R.; Cordy, J.R.; Malton, A.J. and Schneide (2004) Dean, T.R.; Cordy, J.R.; Malton, A.J. and Schneider, K.A. "Agile Parsing in TXL", Journal of Automated Software Engineering 10,4 (October 2003), pp311-336
          in (1993) Computer Languages 19,3 (July 1993)
    Resources
    Search in: Google  Google scholar  World Cat  Yahoo  Overture  DBLP  Monash bib  NZ  IEEE  ACM portal  CiteSeer  CSB  ncstrl  jstor  Bookfinder