[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to main content

iData for the World Wide Web – Programming Interconnected Web Forms

  • Conference paper
Functional and Logic Programming (FLOPS 2006)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 3945))

Included in the following conference series:

Abstract

In this paper we present the iData Toolkit. It allows programmers to create interactive, dynamic web applications with state on a high level of abstraction. The key element of this toolkit is the iData element. An iData element can be regarded as a self-contained object that stores values of a specified type. Generic programming techniques enable the automatic generation of HTML-forms from these types. These forms can be plugged into the web application. The iData elements can be interconnected. Complicated form dependencies can be defined in a pure functional, type safe, declarative programming style. This liberates the programmer from lots of low-level HTML programming and form handling. We illustrate the descriptive power of the toolkit by means of a small, yet complicated example: a project administration. The iData Toolkit is an excellent demonstration of the expressive power of modern generic (poly-typical) programming techniques.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Achten, P., van Eekelen, M., Plasmeijer, R., van Weelden, A.: GEC: a toolkit for Generic Rapid Prototyping of Type Safe Interactive Applications. In: Vene, V., Uustalu, T. (eds.) AFP 2004. LNCS, vol. 3622, pp. 210–244. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  2. Alimarine, A.: Generic Functional Programming - Conceptual Design, Implementation and Applications. PhD thesis, University of Nijmegen, The Netherlands (2005) ISBN 3-540-67658-9

    Google Scholar 

  3. 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)

    Chapter  Google Scholar 

  4. 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); Experience with a Domain Specific Language for Form-based Services. In: Usenix Conference on Domain Specific Languages (October 1997)

    Google Scholar 

  5. 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 

  6. Barendsen, E., Smetsers, S.: Uniqueness typing for functional languages with graph rewriting semantics. Mathematical Structures in Computer Science 6, 579–612 (1996)

    MathSciNet  MATH  Google Scholar 

  7. Barendsen, E., Smetsers, S.: Graph Rewriting Aspects of Functional Programming, ch. 2, pp. 63–102. World scientific, Singapore (1999)

    Google Scholar 

  8. 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)

    Article  MATH  Google Scholar 

  9. Brabrand, C., Møller, A., Schwartzbach, M.: The <bigwig> Project. ACM Transactions on Internet Technology, TOIT (2002)

    Google Scholar 

  10. 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)

    Chapter  Google Scholar 

  11. Graunke, P., Krishnamurthi, S., Findler, R.B., 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 

  12. 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)

    Chapter  Google Scholar 

  13. Hinze, R.: A new approach to generic functional programming. In: The 27th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Boston, Massachusetts, January 2000, pp. 119–132 (2000)

    Google Scholar 

  14. Hinze, R., Jones, S.P.: Derivable Type Classes. In: Hutton, G. (ed.) 2000 ACM SIGPLAN Haskell Workshop, Montreal, Canada. ENTCS, vol. 41(1), Elsevier Science, Amsterdam (2001)

    Google Scholar 

  15. Hughes, J.: Generalising Monads to Arrows. Science of Computer Programming 37, 67–111 (2000)

    Article  MathSciNet  MATH  Google Scholar 

  16. 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 

  17. Löh, A., Clarke, D., Jeuring, J.: Dependency-style Generic Haskell. In: Proceedings of the eighth ACM SIGPLAN International Conference on Functional Programming (ICFP 2003), pp. 141–152. ACM Press, New York (2003)

    Chapter  Google Scholar 

  18. Meijer, E.: Server Side Web Scripting in Haskell. Journal of Functional Programming 10(1), 1–18 (2000)

    Article  MathSciNet  Google Scholar 

  19. Milner, R., Tofte, M., Harper, R., MacQueen, D.: The Definition of Standard ML (Revised). MIT Press, Cambridge (1997)

    Google Scholar 

  20. Plasmeijer, R., Achten, P.: The Implementation of iData - A Case Study in Generic Programming. In: Butterfield, A., Grelck, C., Huch, F. (eds.) IFL 2005. LNCS, vol. 4015, pp. 106–123. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  21. Plasmeijer, R., van Eekelen, M.: Concurrent CLEAN Language Report, version 2.0 (December 2001), http://www.cs.ru.nl/~clean/

  22. 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 

  23. 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)

    Chapter  Google Scholar 

  24. Thiemann, P.: A Typed Representation for HTML and XML Documents in Haskell. Journal of Functional Programming (2005); Under consideration for publication

    Google Scholar 

  25. van Weelden, A., Smetsers, S., Plasmeijer, R.: A Generic Approach to Syntax Tree Operations. In: Butterfield, A. (ed.) Proceedings Implementation and Application of Functional Languages, 17th International Workshop, IFL 2005, Dublin, Ireland, September 19-21. Technical Report No: TCD-CS-2005-60 (2005)

    Google Scholar 

  26. Wallace, M., Runciman, C.: Haskell and XML: Generic combinators or typebased translation? In: Proc. of the Fourth ACM SIGPLAN Intnl. Conference on Functional Programming (ICFP1999), vol. 34–9, pp. 148–159. ACM, New York (1999)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Plasmeijer, R., Achten, P. (2006). iData for the World Wide Web – Programming Interconnected Web Forms. In: Hagiya, M., Wadler, P. (eds) Functional and Logic Programming. FLOPS 2006. Lecture Notes in Computer Science, vol 3945. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11737414_17

Download citation

  • DOI: https://doi.org/10.1007/11737414_17

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-33438-5

  • Online ISBN: 978-3-540-33439-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics