ABSTRACT
The impact of declarative (functional) programming is inhibited by the need to learn/use new languages. A series of language extensions implemented by preprocessing, which integrates functional programming into the Ada culture, is described. Features include lazy streams, recursive data structures, the abolition of assignment and its replacement by data-flow control constructs.
- 1.ANSI, "Reference Manual for the Ada Programming Language", ANSI/MIL-STD 1815A, U.S. Dept. of Defense, 1983.Google Scholar
- 2.Bird, R. and Wadler, P., "Introduction to Functional Programming", Prentice-Hall International, London, 1988. Google ScholarDigital Library
- 3.Hayes, I.J. (ed.), "Specification Case Studies", Prentice-Hall, London, 1987. Google ScholarDigital Library
- 4.Budde, R., Kuhlenkampe, K., Mathussen, L. and Zullighoven, H. (eds.), "Approaches to Prototyping", Springer, Berlin, 1984. Google ScholarDigital Library
- 5.Turner, D.A., "Miranda - a non-strict functional language with polymorphic types", in Jouannaud (ed.), Conference of Functional Programming Languages and Comptuer Architecture, Lecture Notes in Computer Science, vol. 201, pp. 1-16, Springer, Berlin, 1985. Google Scholar
- 6.Bailes, P.A., Johnston, D.B. and Salzman, E.J., "A Proposal for a Genuinely-Lazy Streams Facility for Ada", Journal of Computer Languages, to appear. Google ScholarDigital Library
- 7.Bailes, P.A., "Extending Ada Streams for Input-Output", University of Qeeensland Department of Computer Science Technical Report 146, Brisbane, 1990.Google Scholar
- 8.Ackerman, W.B., "Data Flow Languages", Proc. Nat. Comput. Conf., pp. 1087-1095. 1979.Google Scholar
- 9.Landin, P.J., "A Correspondence Between ALGOL 60 and Church's Lambda-Notation: Part I", CACM, vol. 8, no. 2, pp. 89-101, 1965. Google ScholarDigital Library
- 10.Henderson, P. and Morris, J.H., "A Lazy Evaluator", Proc. 3rd. ACM Symposium on Principles of Programming Languages, pp. 95-103, 1976. Google ScholarDigital Library
- 11.Bailes, P.A., "Evaluating the Ada-Streams Facility", University of Queensland Department of Computer Science Technical Report 147, Brisbane, 1990.Google Scholar
- 12.Bailes, P.A., Johnston, D.B. and Wang, L., "Implementing Conceptually-Efficient Ada-Streams", University of Queensland Department of Computer Science Technical Report 159, Brisbane, 1990.Google Scholar
- 13.Bailes, P.A. and Salzman, E.J., "DM2 - A Declarative Dialect of Modula-2 for Rapid Prototyping", University of Queensland Department of Computer Science Technical Report 91, Brisbane, 1988.Google Scholar
- 14.Donaldson, C.N., "Dynamic Binding and Inheritance in an Object-Oriented Ada Design", Proceedings of the Ada-Europe Conference 1989, pp. 16-25, Cambridge University Press, Cambridge 1989.Google Scholar
- DAda—an Ada preprocessor for functional programming
Recommendations
Ada as a preprocessor language
Preprocessors are components of a software development environment that can increase productivity by providing semantic capabilities for expressing certain source language statement s concisely and directly which would otherwise be expressed indirectly ...
Preprocessor
Encyclopedia of Computer ScienceA preprocessor is a language processor that accepts, as input, statements written in one computer language and writes to an output file statements that are acceptable to a similar but less complete language. Suppose, for example, that we have available ...
Comments