| J. L. Armstrong, "The development of Erlang," in Proceedings of the ACM SIGPLAN International Conference on Functional Programming, A. Press, Ed., 1997, pp. 196--203. |
.... t) int i; mtom reduction occured = 1; t = mtom main(t) for(i=0; mtom reduction occured= 0 i t arity; i ) t subs[i] lazystep(t subs[i] return(t) struct term lazynf(struct term t) do while (t fsym = CONS) printf( t . lazynf(t subs[0] t = t subs[1]; t=lazystep(t) while (mtom reduction occured) return(t) Non Deterministic Computations In some languages (ELAN for example) rewriting is performed in a nondeterministic way, meaning that several possible rewrite steps are explored successively by backtracking. Non determinism ....
....matching is how many bindings a pattern match yields: In the single match style, a successful match yields just one binding. This style is usually taken in declarative programming languages. In particular, most functional programming languages [4] such as CAML [8,30] Clean [6,24] Erlang [2,1], Gofer [14] Haskell [15,23] or ML [9,18] allow de ning functions by pattern matching. In the all match style, a pattern match yields a set of bindings corresponding to all possible matches. This style is often used in query languages and in programming languages based on term rewriting. Let ....
Armstrong, J., The development of Erlang, in: Proceedings of the ACM SIGPLAN International Conference on Functional Programming, 1997, pp. 196-203.
....Cobol, of course, it is still almost true to say 5 that no one uses functional languages [47] but functional languages are becoming both more usable and more widely used. The most commonly cited example of the industrial use of functional programming is undoubtedly Ericsson s language Erlang [3]. The achievements of the Erlang team are extremely impressive: they have designed and implemented their own concurrent functional language, tools and libraries which are used by hundreds of programmers to develop very large telecommunications applications which are widely deployed in real ....
J. Armstrong. The development of Erlang. In Proceedings of the 2nd ACM SIGPLAN International Conference on Functional Programming, June 1997.
....The only way clients may access thread local state is via some communication with the thread, such as through message passing [AVWW96] or events [Rep99] Again, this isolates the data, making it simpler to reason about changes. One example of updating a server thread in Erlang is found in [Arm97] we could easily apply this technique in our context. 11.3.4 Abstract Data Data having abstract type may only be manipulated by certain functions, while the rest of the program must treat it abstractly, providing essentially the same sort visibility as module protected state. Dynamic ML ....
Joe Armstrong. The development of Erlang. In SIGPLAN International Conference on Functional Programming, pages 196--203. ACM, June 1997.
.... decade of existence, Erlang is generally considered as a success story in declarative programming languages; see e.g. 25] Users experience that Erlang allows telecommunication systems to be programmed with less effort and fewer errors than by using conventional programming language technology [1, 5]. It is worthwhile to note that such systems typically consist of several hundred thousand lines of source code (the size is partly due to the complexity of the telecommunication protocols) and rely heavily upon the concurrency capabilities of Erlang. The industry, besides Ericsson, is showing a ....
....the concurrency capabilities of Erlang. The industry, besides Ericsson, is showing a growing interest in Erlang, but there is a very limited choice of compilers, partly due to Erlang s until recently exclusive in house development. Also, as an implementor of these compilers publicly admits [1]: performance has always been a major problem and we are (even) considering adding imperative features to the language to solve these (performance) problems . Indeed, the performance of current implementations of Erlang is inferior to that of good implementations of other functional programming ....
[Article contains additional citation context not shown here]
J. Armstrong. The development of Erlang. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming, pages 196--203, June 1997.
....Section 2 and Sections 3 briefly describe these languages (a complete description can be found in [3] and [16, 7] There is growing interest in Erlang in industry but due to its in house development there is a limited choice of compilers. As the implementors of these compilers freely admit [1], Performance has always been a major problem . On the other hand there are many implementations of Scheme available [18] and the good compilers appear to generate faster code than the Erlang compilers available from Ericsson (for example Hartel et al. 13] have shown that the pseudoknot ....
....bound variables at each node and performs constant propagation and constant folding. Constant propagation and folding are mainly needed to avoid allocation of structures which are constant, such as in the definition f(X) Y= 1,2, X,Y,3,4] which gets compiled as though it were: f(X) X [ 1,2,3,4]] The list [ 1,2,3,4] is represented internally as the Scheme constant list (#(tuple 1 2) 3 4) Following this, the free variables before and after each node are computed. This is done as a separate pass because the bound variable analysis requires a leftto right traversal of the parse tree, ....
[Article contains additional citation context not shown here]
J. L. Armstrong. The development of erlang. In Proceedings of the International Conference on Functional Programming, pages 196--203, Amsterdam, June 1997.
....resource access, so that untrusted imported code is unable to access resources beyond those permitted by the policy imposed upon the node within which it executes. 1. 1 Erlang For the work discussed in this paper, the authors, initially independently, decided to concentrate on the language Erlang [4, 3, 5, 25, 30]. Erlang is a dynamically typed, single assignment language which uses pattern matching for variable binding and function selection, which has inherent support for lightweight concurrent and distributed processes, and has error detection and recovery mechanisms. It was developed at the Ericsson ....
Joe Armstrong. The Development of Erlang. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming, pages 196--203. ACM, 1997.
....errors, and support for continuous operation even when performing software upgrades. After around a decade of existence, it is generally acknowledged that Erlang is among the success stories of declarative programming languages; see e.g. Wadler s article [21] Also, the experience reported in [2, 6] is that Erlang allows telecommunication systems to be programmed with less effort and fewer errors than by using conventional programming language technology. It is worthwhile to note that such systems typically consist of several hundred thousand lines of source code (the size is partly due to ....
....the concurrency capabilities of Erlang. The industry, besides Ericsson, is showing a growing interest in Erlang, but there is a very limited choice of compilers, partly due to Erlang s until recently exclusive in house development. Also, as an implementor of these compilers publicly admits [2]: performance has always been a major problem and we are (even) considering adding imperative features to the language to solve these (performance) problems . Indeed, the performance of current implementations of Erlang is worse than that of good implementations of other functional programming ....
[Article contains additional citation context not shown here]
J. Armstrong. The development of Erlang. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming, pages 196--203, June 1997.
....corresponding description in SDL. In Section 2.3.3 we explain the notions of processes 1 Erlang is available as open source, see www.erlang.org. and nodes in more detail. This introduction is based on [Armstrong et al. 1996] and [Wikstr m, 1994] For an overview on Erlang and its history see [Armstrong, 1997]. 2.3.1 Overview Erlang was invented to implement concurrent, real time, distributed fault tolerant systems. Some of the features of Erlang are, cf. Armstrong et al. 1996, pages 1 2] Functional Notation Erlang is a functional language with real time garbage collection. Concurrency Erlang ....
.... b, Sender Sender X, bar(X) end. Figure 4: Erlang fragment corresponding to SDL an Erlang function which corresponds to a part of a (nonsense) SDL process. This function shows how receiving and sending messages can be described in Erlang. A more complete set of examples can be found in [Armstrong, 1997]. The SDL part of Figure 4 shows a state foo. When receiving the message a(X) where X is an integer variable, X is incremented by one and the state foo becomes active again. When receiving the message b, the value of X is sent back to the sender of b and the state bar becomes active. In Erlang ....
J. Armstrong. The development of Erlang. In Proc. of the ACM SIGPLAN Intl. Conf. on Functional Programming, pages 196203. ACM Press, 1997.
....but also a large number of similarities (e.g. use of functional style, dynamic typing, automatic memory management, data types) Erlang has been mostly developed internally at Ericsson and as a result there is a limited choice of compilers. As the implementers of these compilers freely admit [1], Performance has always been a major problem . On the other hand there are many implementations of Scheme available [15] and the good compilers appear to generate faster code than the Erlang compilers available from Ericsson (for example Hartel et al. 11] has shown that the pseudoknot ....
....the bound variables at each node and performs constant propagation and constant folding. Constant propagation and folding are mainly needed to avoid allocation of structures which are constant, such as in: f(X) Y = 1,2, X,Y,3,4] which gets compiled as though it were: f(X) X [ 1,2,3,4]] The list [ 1,2,3,4] is represented internally as the Scheme constant list (#(tuple 1 2) 3 4) Following this, the free variables before and after each node are computed. This is done as a separate pass because the bound variable analysis requires a left to right traversal of the parse tree, ....
[Article contains additional citation context not shown here]
J. L. Armstrong. The development of erlang. In Proceedings of the International Conference on Functional Programming, pages 196--203, Amsterdam, June 1997.
No context found.
J. L. Armstrong, "The development of Erlang," in Proceedings of the ACM SIGPLAN International Conference on Functional Programming, A. Press, Ed., 1997, pp. 196--203.
No context found.
J. L. Armstrong. The development of Erlang. In ACM Press, editor, Proceedings of the ACM SIGPLAN International Conference on Functional Programming, pages 196--203, 1997.
No context found.
Joe Armstrong. The development of Erlang. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming (ICFP-97), volume 32,8 of ACM SIGPLAN Notices, pages 196--203, New York, June 9--11 1997. ACM Press.
No context found.
J. L. Armstrong. The development of Erlang. In ACM Press, editor, Proceedings of the ACM SIGPLAN International Conference on Functional Programming, pages 196--203, 1997.
No context found.
J. L. Armstrong. The development of Erlang. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming, pages 196--203, 1997.
No context found.
Joe. Armstrong. The development of Erlang. In SIGPLAN International Conference on Functional Programming, pages 196-203. ACM, June 1997.
No context found.
Armstrong, J. 1997a. The development of Erlang. In SIGPLAN International Conference on Functional Programming. ACM, 196--203.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC