Wolfram Library Archive

Courseware Demos MathSource Technical Notes
All Collections Articles Books Conference Proceedings

Programming with Sequence Variables: the Sequentica Package

Mircea Marin
Organization: University of Tsukuba
Department: Institute of Information Sciences and Electronics
Dorin Tepeneu
Organization: University of Tsukuba

2003 International Mathematica Symposium
Conference location

Imperial College, London

Sequence variables are an advanced feature of modern programming languages. They enhance the support for writing programs in a declarative and easily understood way. To our knowledge, Mathematica provides the best support for programming with sequence variables, but it requires a good understanding of how the interpreter chooses the matcher. This is because matching against patterns with sequence variables is generally not unique. We claim that there is room to improve the programming style with sequence variables. We propose a number of new programming constructs which impose certain strategies on the pattern matching process. Our constructs enable us to control the selection of a matcher by annotating sequence variables with binding priorities and ranges for their lengths, and to compute optimal values characterized by a score function to be optimized. To this end we have developed the package Sequentica. With Sequentica, Mathematica programmers and users get additional support for defining functions and transformation rules in an easy and convenient way. We outline the algorithmic difficulties to support these extensions and describe how they are implemented in Sequentica. The usefulness of these extensions is illustrated with various examples. We regard these extensions as a first step towards identifying a new programming style: programming with sequence variables. Such a programming style is useful to solve problems based on sequence analysis, such as bio-informatics, cryptography or data mining.

*Wolfram Technology > Kernel > Pattern Matching

Sequence variables, Pattern Matching, Sequences, Extensions, Sequentica, bio-informatics, cryptography, data mining
Related items

*Challenging the Boundaries of Symbolic Computation: Proceedings of the 5th International Mathematica Symposium   [in Books]