ABSTRACT
In this paper, I describe how GUIs can be made from collections of communicating parallel processes. The paper describes EX11 which is an Erlang binding to the X protocol. I describe the X windows programming model and show how X protocol messages can be naturally mapped onto Erlang messages. The code to perfom this mapping makes extensive use of the Erlang bit syntax and as such provides a good example of the use of the bit syntax to implement a reasonably complex protocol. I give code examples which make use of the EX11 widget library and show how the widget library itself is implemented.
- Armstrong, J., Virding, R., Wikström, C., and Williams. M. Concurrent Programming in Erlang, Prentice-Hall, 1996. Google ScholarDigital Library
- Gettys, J., Karlton, P. L., McGregor, S. The X Window System, Version 11. Software - Practice and Experience, Volume 20, 1990. Google ScholarDigital Library
- Nye, Adrian. X window system -- Volume 0: X Protocol Reference Manual, O'Reilly & Associates. 1995. Google ScholarDigital Library
- Nye, A. X window system -- Volume 1: Xlib Programming Manual. O'Reilly & Associates. 1992. Google ScholarDigital Library
- Nye, A. X window system -- Volume 2: Xlib Reference manual. O'Reilly & Associates. 1992. Google ScholarDigital Library
- Nye, A., and O'Reilly, T. X window system -- Volume 4M: X Toolkit Intrinsics Programming Manual. O'Reilly & Associates. 1992. Google ScholarDigital Library
- Cutler, E., Gilly, D., O'Reilly, T. The X window system in a nutshell. O'Reilly & Associates. 1992. Google ScholarDigital Library
- Pike, R. A Concurrent Window System Comp. Sys., Spring 1989, Vol 2 #2, pp. 133--153.Google Scholar
- Huss, H., Ihrén, J., SCIX -- A scheme interface to X windows. Royal Institute of Technology, Sweden, 1990.Google Scholar
- Reppy, J. H. Higher Order Concurrency -- Ph.D. Thesis. Cornell University 1992. Google ScholarDigital Library
Index Terms
- EX11: a GUI in a concurrent functional language
Recommendations
Pyrlang: a high performance Erlang virtual machine based on RPython
SPLASH Companion 2015: Companion Proceedings of the 2015 ACM SIGPLAN International Conference on Systems, Programming, Languages and Applications: Software for HumanityIn widely-used actor-based programming languages, such as Erlang, sequential execution performance is as important as scalability of concurrency. We are developing a virtual machine called Pyrlang for the Erlang BEAM bytecode with a just-in-time (JIT) ...
TLS the Erlang/OTP Way (Experience Report)
Erlang 2023: Proceedings of the 22nd ACM SIGPLAN International Workshop on ErlangThe Transport Layer Security (TLS) protocol is one of the most used protocols to ensure data privacy, integrity and authenticity on the Internet. Erlang/OTP's TLS implementation is widely used in industry, and especially in the telecommunication ...
Tool support for refactoring functional programs
WRT '08: Proceedings of the 2nd Workshop on Refactoring ToolsWe present the Haskell Refactorer, HaRe, and the Erlang Refactorer, Wrangler, as examples of fully-functional refactoring tools for functional programming languages. HaRe and Wrangler are designed to handle multi-module projects in complete languages: ...
Comments