Abstract
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.
- Backus, J. 1978. Can programming be liberated from the von neumann style? Comm. ACM 21. 8 (Aug.), 613--641. Google Scholar
Digital Library
- Banatre, J. and Le Metayer, D. 1993. Programming by multiset transformation. Comm. ACM 36. 1, (Jan.), 98--111. Google Scholar
Digital Library
- Bishop, J. 1990. The effect of data abstraction on loop programming techniques. IEEE Trans. Soft. Eng. 16, 4 (Apr.), 389--402. Google Scholar
Digital Library
- Blelloch, G. 1996. Programming parallel algorithms. Comm. ACM 39, 3 (Mar.) 98--111. Google Scholar
Digital Library
- Cohen, P. 1966. Set Theory and the Continuum Hypothesis. WH Benjamin, New York.Google Scholar
- Cooke, D. 1996. An introduction to SEQUENCEL: A language to experiment with nonscalar constructs. Softw. Pract. Exper. 26, 11 (Nov.), 1205--1246. Google Scholar
Digital Library
- Cooke, D. 1998. SequenceL provides a different way to view programming. Comp. Lang. 24, 1--32. Google Scholar
Digital Library
- Cooke, D. and Andersen, P. 2000. Automatic parallel control structures in SequenceL. Softw. Prac. Expe. 30, 14 (Nov.), 1541--1570. Google Scholar
Digital Library
- Cooke, D., Barry, M., Lowry, M., and Green, C. 2006. NASA's exploration agenda and capability engineering. Computer 39, 1 (Jan.), 63--73. Google Scholar
Digital Library
- Cooke, D. and Gates, A. 1991. On the development of a method to synthesize programs from requirement specifications. Int. J. Softw. Eng. Knowl. Eng. 1, 1 (Mar.), 21--38.Google Scholar
Cross Ref
- Cooke, D., Gelfond, M., Rushton, N., and Hu, H. 2005. Application of model-based technology systems for autonomous systems. In American Institute of Aeronautics and Astronautics Infotech@Aerospace Conference. AIAA Press, Reston, VA. 8 pages.Google Scholar
- Cooke, D. and Rushton, N. 2005. Iterative and parallel algorithm design from high level language traces. Lecture Notes in Computer Science, vol. 3516. Springer-Verlag, New York. 891--894. Google Scholar
Digital Library
- Gelfond, M. and Lifschitz, V. 1998. The stable model semantics for logic programming. In Proceedings of the 5th International Conference on Logic Programming. Seattle, WA, Aug. MIT Press, Cambridge, MA, 1070--1080.Google Scholar
- Gelfond, M. and Lifschitz, V. 1991. Classical negation in logic programs and disjunctive databases. New Generation Comp. 9, 365--385.Google Scholar
Cross Ref
- Iverson, K. 1962. A Programming Language. Wiley, New York. Google Scholar
Digital Library
- Lämmel, R. and Peyton-Jones, S. 2003. Scrap your boilerplate: A practical design patterns for generic programming. ACM SIGPLAN Notices 38, 3, 26--37. Google Scholar
Digital Library
- Lämmel, R. and Peyton-Jones, S. 2004. Scrap more boilerplate: Reflection, zips, and generalised cates. ACM SIGPLAN Notices 39, 9, 244--255. Google Scholar
Digital Library
- Lin, F. and Zhao, Y. 2004. Assat: Computing answer sets of a logic program by sat solvers. Artificial Intelligence 157, 1--2 (Aug.), 115--137. Google Scholar
Digital Library
- Loidl, H. and Trinder, P. 2006. A Gentle introduction to GPH. http://www.macs.hw.ac.uk/~dsg/gph/docs/Gentle-GPH/gph-gentle-intro.html.Google Scholar
- Meijer, E. and Fokkinga, M., and Paterson, R. 1991. Functional programming with bananas, lenses, envelopes and barbed wire. Lecture Notes in Computer Science, vol. 523. Springer-Verlag, New York. 124--144. Google Scholar
Digital Library
- Mills, H. and Linger, R. 1986. Data structured programming: Programming without arrays and pointers. IEEE Trans. Soft. Eng. 12, 2 (Feb.), 192--197. Google Scholar
Digital Library
- Nikhil, R. and Arvind. 2001. Implicit Parallel Programming in pH. Morgan Kaufmann, San Francisco. Google Scholar
Digital Library
- Pancake, C. 1999. Those who live by the flop may die by the flop. Keynote Address, 41st International Cray User Group Conference, Minneapolis, MN.Google Scholar
- Sipelstein, J. and Blelloch, G. E. 1991. Collection-oriented languages. Proc. IEEE, 79, 4.Google Scholar
Cross Ref
Index Terms
Normalize, transpose, and distribute: An automatic approach for handling nonscalars
Recommendations
Layout-sensitive language extensibility with SugarHaskell
Haskell '12: Proceedings of the 2012 Haskell SymposiumProgrammers need convenient syntax to write elegant and concise programs. Consequently, the Haskell standard provides syntactic sugar for some scenarios (e.g., do notation for monadic code), authors of Haskell compilers provide syntactic sugar for more ...
Layout-sensitive language extensibility with SugarHaskell
Haskell '12Programmers need convenient syntax to write elegant and concise programs. Consequently, the Haskell standard provides syntactic sugar for some scenarios (e.g., do notation for monadic code), authors of Haskell compilers provide syntactic sugar for more ...
Directive-based tile abstraction to distribute loops on accelerators
GPGPU-10: Proceedings of the General Purpose GPUsOptimizing applications for the next generation of super-computers requires next generation compilers. These compilers need to provide an abstraction for the developer to describe the inner working of applications. And, next generation compilers need to ...






Comments