“…Iterative and recursive control structures are difficult and costly to write [Mills and Linger 1986;Bishop 1990]. In some cases, these control constructs are required because the algorithm being implemented is intuitively iterative or recursive-say implementing Quicksort.…”
Section: Motivating Examples and Intiution On Semanticsmentioning
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.
“…Iterative and recursive control structures are difficult and costly to write [Mills and Linger 1986;Bishop 1990]. In some cases, these control constructs are required because the algorithm being implemented is intuitively iterative or recursive-say implementing Quicksort.…”
Section: Motivating Examples and Intiution On Semanticsmentioning
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.
“…Writing a program of even a modest size is not an easy task [1]. A large part of the complexity facing the problem solver is due to the following fact: the actual data product § containing the desired solution is implied by the control structures written by the programmer.…”
Section: Introductionmentioning
confidence: 99%
“…Software engineers have long realized that the construction of loops is complex and costly [1]. Bishop noted that 'Since Pratt's paper on the design of loop control structures was published more than a decade ago, there has been continued interest in the need to provide better language features for iteration' [2].…”
“…13 The need for better language features is due, in part, to the fact that the construction of looping algorithms is very complex and costly. 14 SequenceL is an attempt to replace the need for iterative and recursive algorithms with four basic constructs for processing nonscalars: the eventive, regular, irregular, and generative constructs. where t: is a variable, N is an integer constant, C is a string constant, and 9 is a floating point constant.…”
SUMMARYSequenceL is a language intended for experimentation with declarative constructs for nonscalar processing. In SequenceL, a problem solver provides little in the way of iterativehecursive details in a problem solution. Instead, the problem solver describes the solution directly by specifying, via a metastructure, the data structures which will hold results useful for solving the problem. SequenceL is a small language (i.e. there is a small number of language constructs), and it is not domain dependent. This paper is meant to introduce the reader to SequenceL. KEY WORDS: software; automatic programming; software engineering; programming languages
MOTIVATION AND BACKGROUND OF SEQUENCELThere currently exist several approaches to programming, including the imperative, functional, logical, and object-oriented paradigms. Arguably, these various approaches exist in order to accommodate different types of problem solvers. There does not appear to be a 'one size fits all' when it comes to paradigms. What appeals to one person may not appeal to the next.The purpose of this paper is to present a language, SequenceL (formerly called BagL). SequenceL is an experimental computer language. It is based upon a strategy for problem solving wherein one solves a problem by describing data structures strictly in terms of their form and content, rather than also having to describe the i terativehecursive detail to produce and/or process the data structures algorithmically. As with the other approaches to programming, SequenceL may not be for everyone, but it does represent another approach to problem solving.
1.1.From one perspective, the history of language design indicates that languages have evolved from algorithmic-oriented languages to data structure-oriented languages (see Figure 1). Consider the move from FORTRAN to languages like ALGOL and Pascal. In solving problems in FORTRAN, one focuses on the production of an algorithm. In a language like Pascal, a problem solution is an algorithm that interacts appropri- ately with a data structure. A good example of the Pascal view is a program to convert a prefix arithmetic expression into an equivalent postfix expression. After constructing a binary tree which holds the prefix expression in an appropriate configuration (that is, a configuration where operators are parents of operands), one merely performs a postorder traversal of the tree to obtain the postfix expression. The data structure designed thus plays a central role in the problem solution. Object-oriented languages, which encapsulate data structures, take the notion of problem solving further away from algorithms and closer to data structure design. The intent is to view the product of software engineering to be a set of objects, rather than programs.SequenceL has been developed in order to explore the possibility of a language based solely on high-level constructs for describing data structures. In SequenceL, a problem solution is a data structure which holds results useful in solving some problem. This view of a data...
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.