Skip to main content

Using concurrent Haskell to develop views over an active repository

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1467))

Abstract

The UniForM WorkBench is an integration framework with Haskell features in support of data, control and presentation integration. Using the WorkBench, it is possible to implement the entire Software Development Environment for Haskell — using Haskell itself. The paper presents the higher order approach to event handling used within the WorkBench, as well as the persistent repository with version management support. It is then demonstrated how views over this repository are kept consistent, on the fly, in a multi-user environment using the Model-View-Controller paradigm. Interactors are set up to maintain consistency between a view and its underlying repository by coordinating database change notifications and user interactions. These events are represented as first class, composable event values.

This is a preview of subscription content, log in via an institution.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. G. Agha. Actors: A Model of Concurrent Computation in Distributed Systems. The MIT Press, Cambridge, Massachusetts, 1986.

    Google Scholar 

  2. J. A. Bergstra and P. Klint. The Toolbus — a Component Interconnection Architecture. Technical Report P9408, University of Amsterdam, 1994.

    Google Scholar 

  3. The H-PCTE Crew. H-PCTE vs. PCTE, version 2.8. Technical report, Universität Siegen, June 1996.

    Google Scholar 

  4. ECMA. Portable Common Tool Environment (PCTE) — Abstract Specification. European Computer Manufacturers Association, 3 edition, December 1994. Standard ECMA-149.

    Google Scholar 

  5. A. M. Farkas, A. Dearie, G. N. C. Kirby, Q. I. Cutts, R. Morrison, and R. C. H. Connor. Persistent Program Construction through Browsing and User Gesture with some Typing. In Proc. 5th International Workshop on Persistent Object Systems. San Miniato, Italy, 1992.

    Google Scholar 

  6. S. Finne and S. Peyton Jones. Composing Haggis. In Proceedings of the Fifth Eurographics Workshop on Programming Paradigms for Computer Graphics. Springer, 1995.

    Google Scholar 

  7. M. Föhlich and M. Werner, daVinci V2.0.3 Online Documentation. Universität Bremen, http://www.inlormatik.uni-bremen.de/~davinci, 1997.

    Google Scholar 

  8. T. Frauenstein, W. Grieskamp, P. Pepper, and M. Südholt. Communicating Functional Agents and their Application to Graphical User Interfaces. In Proceedings of the 2nd International Conference on Perspectives of System Informatics, Novosibirsk, Lecture Notes in Computer Science. Springer, 1996.

    Google Scholar 

  9. A. Giacalone, P. Mishra, and P. Sanjiva. Facile: A Symmetrie Integration of Concurrent and Functional Programming. International Journal of Parallel Programming, 18(2): 121–160, 1989.

    Article  Google Scholar 

  10. M. Hallgren and M. Carlsson. Programming with Fudgets. In First International Spring School on Advanced Functional Programming Techniques, volume 925 of Lecture Notes in Computer Science. Springer, May 1995.

    Google Scholar 

  11. M. P. Jones and J. C. Peterson. Hugs 1.4, The Nottingham and Yale Haskell User's System, April 1997.

    Google Scholar 

  12. E. W. Karlsen. Integrating Interactive Tools using Concurrent Haskell and Synchronous Events. In CLaPF'97: 2nd Latin-American Conference on Functional Programming, September 1997.

    Google Scholar 

  13. E. W. Karlsen. The UniForM Concurrency Toolkit and its Extensions to Concurrent Haskell. In GWFP'97: Glasgow Workshop on Functional Programming, September 1997.

    Google Scholar 

  14. E. W. Karlsen. The UniForM User Interaction Manager. Technical report, FB 3, Universität Bremen, Germany, 1998.

    Google Scholar 

  15. E. W. Karlsen. The UniForM WorkBench — a Higher Order Tool Integration Framework. Technical report, FB 3, Universität Bremen, Germany, 1998.

    Google Scholar 

  16. G. Krasner and S. Pope. 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 

  17. B. Krieg-Brückner, J. Peleska, E. R. Olderog, D. Balzer, and A. Baer. Universal Formal Methods Workbench. In U. Grote and G. Wolf, editors, Statusseminar des BMBF: Softwaretechnologie. Deutsche Forshungsanstalt für Luft-und Raumfahrt, Berlin, 1996. Available at http://www.informatik.uni-bremen.de/~uniform.

    Google Scholar 

  18. C. Lüth, S. Westmeier, and B. Wolff. smltk: Functional Programming for Graphical User Interfaces. Technical Report 8/96, FB 3, Universität Bremen, 1996.

    Google Scholar 

  19. Sun Microsystems. JavaBeans 1.0. JavaSoft, December 1996.

    Google Scholar 

  20. R. Noble and C. Runciman. Gadgets: Lazy Functional Components for Graphical. User Interfaces. In PLILP'95: Seventh International Symposium on Programming Languages, Implementations, Logics and Programs, volume 982 of LNCS, pages 321–340. Springer, September 1995.

    Google Scholar 

  21. W. Norzel. Building Abstractions for Concurrent Programming in Concurrent Haskell. Master thesis (in german), FB 3, Universität Bremen, Germany, April 1997.

    Google Scholar 

  22. J. K. Ousterhout. Tcl and the Tk Toolkit. Addison Wesley, 1994.

    Google Scholar 

  23. S. Peyton Jones, A. Gordon, and S. Finne. Concurrent Haskell. In Principles of Programming Languages '96 (POPL'96), Florida, 1996.

    Google Scholar 

  24. S. Peyton Jones and P. Wadler. Imperative Functional Programming. In Proc. 20th ACM Symposium on Principles of Functional Programming, 1993.

    Google Scholar 

  25. J. H. Reppy. Higher-Order Concurrency. PhD thesis, Department of Computer Science, Cornell University, 1992.

    Google Scholar 

  26. D. Schefström and G. van den Broek. Tool Integration. Wiley, 1993.

    Google Scholar 

  27. P. Trinder. A Functional Database. PhD thesis, Department of Computer Science, University of Glasgow, 1990.

    Google Scholar 

  28. T. Vullings and W. Schulte. The Design of a Functional GUI Library using Constructor Classes. In Perspectives of System Informatics, volume 1181 of Lecture Notes in Computer Science. Springer, 1996.

    Google Scholar 

  29. S. Westmeier. Verwaltung versionierter persistenter Objekte in der UniForM WorkBench (UniForM OMS Toolkit). Master thesis, Bremen University, Germany, January 1998.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Chris Clack Kevin Hammond Tony Davie

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Karlsen, E.W., Westmeier, S. (1998). Using concurrent Haskell to develop views over an active repository. In: Clack, C., Hammond, K., Davie, T. (eds) Implementation of Functional Languages. IFL 1997. Lecture Notes in Computer Science, vol 1467. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055437

Download citation

  • DOI: https://doi.org/10.1007/BFb0055437

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64849-9

  • Online ISBN: 978-3-540-68528-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics