ABSTRACT
This paper describes how the Erlang programming language could be extended with parameterized modules, in a way that is compatible with existing code. This provides a powerful way of creating callbacks, that avoids the limitations involved with function closures, and extends current programming practices in a systematic way that also eliminates a common source of errors. The usage of parameterized modules is similar to Object-Oriented programming, and is naturally complemented by the currently underused feature of behaviours (interface declarations), which are also explained in detail.
- J. Armstrong, R. Virding, C. Wikström, and M. Williams. Concurrent Programming in Erlang. Prentice-Hall, second edition, 1996. Google ScholarDigital Library
- T. Budd. An Introduction to Object-Oriented Programming. Addison-Wesley, second edition, 1997. Google ScholarDigital Library
- L. Cardelli, J. Donahue, L. Glassman, M. Jordan, B. Kalsow, and G. Nelson. Modula-3 language definition. SIGPLAN Notices, 27(8):15--42, Aug. 1992. Google ScholarDigital Library
- O. Dahl and K. Nygaard. Simula, an Algol-based simulation language. Communications of the ACM, 9(9):671--678, Sept. 1966. Google ScholarDigital Library
- J. Gosling, B. Joy, and G. Steele. The Java Language Specification. Addison-Wesley, 1996. Google ScholarDigital Library
- N. D. Jones, C. K. Gomard, and P. Sestoft. Partial Evaluation and Automatic Program Generation. Prentice Hall, 1993. Google ScholarDigital Library
- A. C. Kay. The early history of Smalltalk. ACM SIGPLAN Notices, 28(3):69--75, Mar. 1993. The Second ACM SIGPLAN History of Programming Languages Conference (HOPL-II). Google ScholarDigital Library
- B. Meyer. Eiffel, The Language. Prentice Hall, Englewood Cliffs, 1992. Google ScholarDigital Library
- Military Standard. Reference manual for the Ada programming language. Technical Report ANSI/MIL-STD-1815A-1983, United States Government Printing Office, 1983.Google Scholar
- R. Milner, M. Tofte, and R. Harper. The Definition of Standard ML. MIT Press, Cambridge, MA, 1990. Google ScholarDigital Library
- B. Stroustrup. The C++ Programming Language. Addison-Wesley, second edition, 1991. Google ScholarDigital Library
- M. Zenger. Programming Language Abstractions for Extensible Software Components. PhD thesis, Ecole Polytechnique Federale de Lausanne, Switzerland, draft version, 2003.Google Scholar
- Parameterized modules in Erlang
Recommendations
Parameterized Bounded-Depth Frege Is not Optimal
A general framework for parameterized proof complexity was introduced by Dantchev et al. [2007]. There, the authors show important results on tree-like Parameterized Resolution---a parameterized version of classical Resolution---and their gap complexity ...
Parameterised Algorithms for Deletion to Classes of DAGs
In the Directed Feedback Vertex Set (DFVS) problem, we are given a digraph D on n vertices and a positive integer k, and the objective is to check whether there exists a set of vertices S such that F = D ? S is an acyclic digraph. In a recent paper, ...
Parameterized complexity dichotomy for Steiner Multicut
We consider the Steiner Multicut problem, which asks, given an undirected graph G, a collection T = { T 1 , ź , T t } , T i ź V ( G ) , of terminal sets of size at most p, and an integer k, whether there is a set S of at most k edges or nodes such that ...
Comments