iTask as a New Paradigm for Building GUI Applications

  • Steffen Michels
  • Rinus Plasmeijer
  • Peter Achten
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6647)


The iTask system is a combinator library written in Clean offering a declarative, domain-specific language for defining workflows. From a declarative specification, a complete multi-user, web-enabled, workflow management system (WFMS) is generated. In the iTask paradigm, a workflow is a definition in which interactive elements are defined by editors on model values (abstracting from concrete GUI implementation details). The order of their appearance is calculated dynamically using combinator functions (abstracting from concrete synchronisation details). Defining interactive elements and the order of their appearance are also major concerns when programming GUI applications. For this reason, the iTask paradigm is potentially suited to program GUI applications as well. However, the iTask system was designed for a different application domain and lacks a number of key features to make it suited for programming GUI applications. In this paper, we identify these key features and show how they can be added to the iTask system in an orthogonal way, thus creating a new paradigm for programming GUI applications.


Task Action Shared State Text Editor Editor Action Data Constructor 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Achten, P., Plasmeijer, R.: Interactive functional objects in Clean. In: Clack, C., Hammond, K., Davie, T. (eds.) IFL 1997. LNCS, vol. 1467, pp. 304–321. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  2. 2.
    Alimarine, A.: Generic Functional Programming - Conceptual Design, Implementation and Applications. PhD thesis. Radboud University Nijmegen (2005)Google Scholar
  3. 3.
    Bohannon, A., Pierce, B.C., Vaughan, J.A.: Relational lenses: a language for updatable views. In: PODS 2006: Proceedings of the twenty-fifth ACM SIGMOD-SIGACT-SIGART symposium on Principles of database systems, pp. 338–347. ACM, New York (2006)CrossRefGoogle Scholar
  4. 4.
    Carlsson, M., Hallgren, T.: Fudgets - A Graphical User Interface in a Lazy Functional Language. In: FPCA 1993 - Conference on Functional Programming Languages and Computer Architecture, pp. 321–330. ACM Press, New York (June 1993)CrossRefGoogle Scholar
  5. 5.
    Courtney, A., Elliott, C.: Genuinely functional user interfaces. In: Haskell Workshop, pp. 41–69 (September 2001)Google Scholar
  6. 6.
    Finne, S., Jones, S.P.: Composing the user interface with Haggis. In: Launchbury, J., Sheard, T., Meijer, E. (eds.) AFP 1996. LNCS, vol. 1129, pp. 26–30. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  7. 7.
    Koopman, P., Achten, P., Plasmeijer, R.: Validating specifications for model-based testing. In: Arabnia, H., Reza, H. (eds.) Proceedings of the International Conference on Software Research and Practice, SERP 2008, Las Vegas, NV, USA, July 14-17, pp. 231–237. CSREA Press (2008)Google Scholar
  8. 8.
    Krasner, G.E., Pope, S.T.: A cookbook for using the model view controller user interface paradigm in Smalltalk-80. Journal of Object-Oriented Programming 1(3), 26–49 (1988)Google Scholar
  9. 9.
    Leijen, D.: wxHaskell: a portable and concise gui library for Haskell. In: Haskell 2004: Proceedings of the 2004 ACM SIGPLAN workshop on Haskell, pp. 57–68. ACM, New York (2004)Google Scholar
  10. 10.
    Lijnse, B., Plasmeijer, R.: iTasks 2: iTasks for End-users. In: Morazán, M., Scholz, S.-B. (eds.) IFL 2009. LNCS, vol. 6041, pp. 36–54. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  11. 11.
    Plasmeijer, R., Achten, P.: iData for the world wide web - programming interconnected web forms. In: Hagiya, M. (ed.) FLOPS 2006. LNCS, vol. 3945, pp. 242–258. Springer, Heidelberg (2006)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2011

Authors and Affiliations

  • Steffen Michels
    • 1
  • Rinus Plasmeijer
    • 1
  • Peter Achten
    • 1
  1. 1.Institute for Computing and Information SciencesRadboud University NijmegenNijmegenThe Netherlands

Personalised recommendations