Skip to main content

Clean Up the Web!

Rapid Client-Side Web Development with Clean

  • Chapter
The Beauty of Functional Code

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

Abstract

Programming in Clean is much more appealing than programming in JavaScript. Therefore, solutions that can replace JavaScript with Clean in client-side web development are widely welcomed. This paper describes a technology for the cross-compilation of Clean to JavaScript and for the tight integration of the generated code into a web application. Our solution is based on the iTask framework and its extension, the so-called Tasklets. The application server approach provides simple and easy deployment, thus supporting rapid development. Examples are shown to illustrate how communication between the Clean and JavaScript code can be established.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 49.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Abadi, M., Cardelli, L., Pierce, B., Plotkin, G.: Dynamic typing in a statically-typed language. In: Proceedings of the 16th ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, POPL 1989, pp. 213–227. ACM, New York (1989)

    Google Scholar 

  2. Ashkenas, J.: List of languages that compile to JavaScript, https://github.com/jashkenas/coffee-script/wiki/List-of-languages-that-compile-to-JS

  3. Cooper, E., Lindley, S., Yallop, J.: Links: Web programming without tiers. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2006. LNCS, vol. 4709, pp. 266–296. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  4. Dijkstra, A.: The Utrecht Haskell Compiler JavaScript Backend, http://uu-computerscience.github.com/uhc-js/

  5. Domoszlai, L., Bruël, E., Jansen, J.M.: Implementing a non-strict purely functional language in JavaScript. Acta Univ. Sapientiae. Informatica 3(1), 76–98 (2011)

    MATH  Google Scholar 

  6. Domoszlai, L., Plasmeijer, R.: Tasklets: Client-side evaluation for iTask3 (2012), http://people.inf.elte.hu/dlacko/papers/tasklets.pdf

  7. Done, C.: The FAY language, http://fay-lang.org/

  8. Ekblad, A.: Towards a DeclarativeWeb. Master’s thesis, University of Gothenburg, Göteborg, Sweden (August 2012)

    Google Scholar 

  9. The Google Web Toolkit site, http://code.google.com/webtoolkit/

  10. Lijnse, B., Plasmeijer, R.: iTasks 2: iTasks for end-users. In: Morazán, M.T., Scholz, S.-B. (eds.) IFL 2009. LNCS, vol. 6041, pp. 36–54. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  11. Loitsch, F., Serrano, M.: Hop client-side compilation. In: Proc. 7th Symposium on Trends in Functional Programming, TFP 2007 (2007)

    Google Scholar 

  12. Moñino, M.C.: The Google Web Toolkit site, http://code.google.com/webtoolkit/

  13. Nazarov, V.: The GHCJS Haskell to Javascript translator, https://github.com/ghcjs/ghcjs

  14. Pil, M.: Dynamic types and type dependent functions. In: Hammond, K., Davie, T., Clack, C. (eds.) IFL 1998. LNCS, vol. 1595, pp. 169–185. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  15. Plasmeijer, R., Lijnse, B., Michels, S., Achten, P., Koopman, P.: Task-oriented programming in a pure functional language. In: Proceedings of the 14th Symposium on Principles and Practice of Declarative Programming, PPDP 2012, pp. 195–206. ACM, New York (2012)

    Google Scholar 

  16. Tarditi, D., Lee, P., Acharya, A.: No assembly required: compiling standard ML to C. ACM Lett. Program. Lang. Syst. 1(2), 161–177 (1992)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Domoszlai, L., Kozsik, T. (2013). Clean Up the Web!. In: Achten, P., Koopman, P. (eds) The Beauty of Functional Code. Lecture Notes in Computer Science, vol 8106. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40355-2_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-40355-2_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-40354-5

  • Online ISBN: 978-3-642-40355-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics