Normalize, transpose, and distribute: An automatic approach for handling nonscalars

Daniel E. Cooke, J. Nelson Rushton, Brad Nemanich, Robert G. Watson, Per Andersen

Research output: Contribution to journalArticle

5 Scopus citations


SequenceL is a concise, high-level language with a simple semantics that provides for the automatic derivation of many iterative and parallel control structures. The semantics repeatedly applies a Normalize-Transpose-Distribute operation to functions and operators until base cases are discovered. Base cases include the grounding of variables and the application of built-in operators to operands of appropriate types. This article introduces the results of a 24-month effort to reduce the language to a very small set of primitives. Included are comparisons with other languages, the formal syntax and semantics, and the traces of several example problems run with a prototype interpreter developed in 2006.

Original languageEnglish
Article number9
JournalACM Transactions on Programming Languages and Systems
Issue number2
StatePublished - Mar 1 2008


  • Automatic loop generation
  • Automatic parallelisms

Fingerprint Dive into the research topics of 'Normalize, transpose, and distribute: An automatic approach for handling nonscalars'. Together they form a unique fingerprint.

  • Cite this