Sciweavers

ICFP
2008
ACM

A functional model-view-controller software architecture for command-oriented programs

14 years 4 months ago
A functional model-view-controller software architecture for command-oriented programs
Command-oriented functional programs are currently structured in an ad hoc way that makes the development of multiple userinterfaces difficult and error prone, and makes it difficult to abstractly understand a program's command-oriented behavior. To rectify this, we propose a software architecture for such programs that we call functional model-view-controller (MVC), by a rough analogy with object-oriented MVC. In functional MVC, a program is structured as a model (domain-specific aspects), view (abstract user) and controller (command loops). In contrast to objectoriented MVC, a controller is active, consisting of a number of recursive functions. It calls its view to get user input and to display results to the user; it calls its model to do domain-specific work. To increase adaptability, a controller should be parameterized by its model and view, using a function or an ML-style functor. With this approach, one can write terminal and graphical views; one can also write views that...
Alley Stoughton
Added 13 Dec 2009
Updated 13 Dec 2009
Type Conference
Year 2008
Where ICFP
Authors Alley Stoughton
Comments (0)