Advertisement

Generic Editors for the World Wide Web

  • Rinus Plasmeijer
  • Peter Achten
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4164)

Abstract

In these lecture notes we present a novel toolkit to program web applications that have dynamic, complex behavior based on interconnect forms. This toolkit is the iDataToolkit. We demonstrate that it allows programmers to create web applications on a level of abstraction that is comparable with ‘ordinary’ functional style programs. By this we mean that programmers can develop data structures and functions in the usual way. From the data structures the iDataToolkit is able to generate forms that can be used in a web application. It does this by making use of advanced programming concepts such as generic programming. The programmer need not be aware of this.

Keywords

World Wide Functional Programming Generic Editor Radio Button Integer Form 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Achten, P., van Eekelen, M., Plasmeijer, R.: Compositional Model-Views with Generic Graphical User Interfaces. In: PADL 2004. LNCS, vol. 3057, pp. 39–55. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  2. 2.
    Alimarine, A., Plasmeijer, R.: A Generic Programming Extension for Clean. In: Arts, T., Mohnen, M. (eds.) IFL 2002. LNCS, vol. 2312, pp. 168–186. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  3. 3.
    Atanassow, F., Clarke, D., Jeuring, J.: UUXML: A Type-Preserving XML Schema–Haskell Data Binding. In: Jayaraman, B. (ed.) PADL 2004. LNCS, vol. 3057, pp. 71–85. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  4. 4.
    Atkins, D., Ball, T., Benedikt, M., Bruns, G., Cox, K., Mataga, P., Rehor, K.: Experience with a Domain Specific Language for Form-based Services. In: Usenix Conference on Domain Specific Languages (October 1997)Google Scholar
  5. 5.
    Berners-Lee, T.: World wide web seminar (1991), http://www.w3.org/Talks/General.html
  6. 6.
    Brabrand, C., Møller, A., Ricky, M., Schwartzbach, M.: Powerforms: Declarative client-side form field validation. World Wide Web Journal 3(4), 205–314 (2000)MATHCrossRefGoogle Scholar
  7. 7.
    Brabrand, C., Møller, A., Schwartzbach, M.: The <bigwig> Project. In: ACM Transactions on Internet Technology (TOIT) (2002)Google Scholar
  8. 8.
    de Mol, M., van Eekelen, M., Plasmeijer, R.: Theorem proving for functional programmers - Sparkle: A functional theorem prover. In: Arts, T., Mohnen, M. (eds.) IFL 2002. LNCS, vol. 2312, pp. 55–72. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  9. 9.
    Elsman, M., Larsen, K.F.: Typing XHTML Web Applications in ML. In: Jayaraman, B. (ed.) PADL 2004. LNCS, vol. 3057, pp. 224–238. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  10. 10.
    Graunke, P., Krishnamurthi, S., Bruce Findler, R., Felleisen, M.: Automatically Restructuring Programs for the Web. In: Feather, M., Goedicke, M. (eds.) Proceedings 16th IEEE International Conference on Automated Software Engineering (ASE 2001). IEEE CS Press, Los Alamitos (2001)Google Scholar
  11. 11.
    Hanus, M.: High-Level Server Side Web Scripting in Curry. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 76–92. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Hinze, R.: A new approach to generic functional programming. In: The 27th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Boston, Massachusetts, pp. 119–132 (January 2000)Google Scholar
  13. 13.
    Hinze, R., Jones, S.P.: Derivable Type Classes. In: Hutton, G. (ed.) 2000 ACM SIGPLAN Haskell Workshop, Montreal, Canada. ENTCS, vol. 41(1). Elsevier, Amsterdam (2001)Google Scholar
  14. 14.
    Hughes, J.: Generalising Monads to Arrows. Science of Computer Programming 37, 67–111 (2000)MATHCrossRefMathSciNetGoogle Scholar
  15. 15.
    Krasner, G., Pope, S.: 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
  16. 16.
    Meijer, E.: Server Side Web Scripting in Haskell. Journal of Functional Programming 10(1), 1–18 (2000)CrossRefMathSciNetGoogle Scholar
  17. 17.
    Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML (revised). MIT Press, Cambridge (1997)Google Scholar
  18. 18.
    Peyton Jones, S., Hughes, J., et al.: Report on the programming language Haskell 98. University of Yale (1999), http://www.haskell.org/definition/
  19. 19.
    Plasmeijer, R., van Eekelen, M.: Functional Programming and Parallel Graph Rewriting. Addison-Wesley Publishing Company, Reading (1993)MATHGoogle Scholar
  20. 20.
    Plasmeijer, R., van Eekelen, M.: Concurrent CLEAN Language Report (version 2.0) (December 2001), http://www.cs.ru.nl/~clean/
  21. 21.
    Queinnec, C.: The influence of browsers on evaluators or, continuations to program web servers. In: Proceedings Fifth International Conference on Functional Programming (ICFP 2000) (September 2000)Google Scholar
  22. 22.
    Thiemann, P.: WASH/CGI: Server-Side Web Scripting with Sessions and Typed, Compositional Forms. In: Krishnamurthi, S., Ramakrishnan, C.R. (eds.) PADL 2002. LNCS, vol. 2257, pp. 192–208. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  23. 23.
    Thiemann, P.: A Typed Representation for HTML and XML Documents in Haskell. Journal of Functional Programming (2005) (under consideration for publication)Google Scholar
  24. 24.
    Wallace, M., Runciman, C.: Haskell and XML: Generic combinators or type-based translation? In: Proc. of the Fourth ACM SIGPLAN Intnl. Conference on Functional Programming (ICFP 1999), vol. 34–9, pp. 148–159. ACM, New York (1999)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Rinus Plasmeijer
    • 1
  • Peter Achten
    • 1
  1. 1.Software Technology, Nijmegen Institute for Computing and Information SciencesRadboud University Nijmegen 

Personalised recommendations