Functional Shell and Reusable Components for Easy GUIs
D. Ben Knoble, Bogdan Popa

TL;DR
This paper discusses the design and application of functional shells and observable components in GUI toolkits, emphasizing reusability and simplified state management, demonstrated through the GUI Easy toolkit.
Contribution
It introduces GUI Easy, a toolkit that simplifies GUI development with functional programming principles, and derives architectural patterns from practical experience.
Findings
GUI Easy enables reusable and maintainable GUI development.
Functional shells improve separation of concerns in GUI systems.
Architectural patterns for functional imperative systems are identified.
Abstract
Some object-oriented GUI toolkits tangle state management with rendering. Functional shells and observable toolkits like GUI Easy simplify and promote the creation of reusable views by analogy to functional programming. We have successfully used GUI Easy on small and large GUI projects. We report on our experience constructing and using GUI Easy and derive from that experience several architectural patterns and principles for building functional programs out of imperative systems.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Embedded Systems Design Techniques
