skip to main content
10.1145/1291151.1291187acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
Article

User-friendly functional programming for web mashups

Published:01 October 2007Publication History

ABSTRACT

MashMaker is a web-based tool that makes it easy for a normal user to create web mashups by browsing around, without needing to type, or plan in advance what they want to do.

Like a web browser, Mashmaker allows users to create mashups by browsing, rather than writing code, and allows users to bookmark interesting things they find, forming new widgets - reusable mashup fragments. Like a spreadsheet, MashMaker mixes program and data and allows ad-hoc unstructured editing of programs.

MashMaker is also a modern functional programming language with non-side effecting expressions, higher order functions, and lazy evaluation. MashMaker programs can be manipulated either textually, or through an interactive tree representation, in which a program is presented together with the values it produces.

In order to cope with this unusual domain, MashMaker contains a number of deviations from normal function languages. The most notable of these is that, in order to allow the programmer to write programs directly on their data, all data is stored in a single tree, and evaluation of an expression always takes place at a specific point in this tree, which also functions as its scope.

References

  1. Alan F. Blackwell, Carol Britton, Anna Louise Cox, Thomas R. G. Green, Corin A. Gurr, Gada F. Kadoda, Maria Kutar, Martin Loomes, Chrystopher L. Nehaniv, Marian Petre, Chris Roast, Chris Roe, Allan Wong, and Richard M. Young. Cognitive dimensions of notations: Design tools for cognitive technology. In CT '01: Proceedings of the 4th International Conference on Cognitive Technology, pages 325--341, London, UK, 2001. Springer-Verlag. ISBN 3-540-42406-7. Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Yuhan Cai, Xin Luna Dong, Alon Halevy, Jing Michelle Liu, and Jayant Madhavan. Personal information management with SEMEX. In SIGMOD '05: Proceedings of the 2005 ACM SIGMOD international conference on Management of data, pages 921--923, New York, NY, USA, 2005. ACM Press. ISBN 1-59593-060-4. doi: http://doi.acm.org/10.1145/1066157.1066289. Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. Allen Cypher, Daniel C. Halbert, David Kurlander, Henry Lieberman, David Maulsby, Brad A. Myers, and Alan Turransky, editors. Watch what I do: programming by demonstration. MIT Press, Cambridge, MA, USA, 1993. ISBN 0-262-03213-9. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Jonathan Edwards. Subtext: uncovering the simplicity of programming. In OOPSLA '05: Proceedings of the 20th annual ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications, pages 505--518, New York, NY, USA, 2005. ACM Press. ISBN 1-59593-031-0. doi: http://doi.acm.org/10.1145/1094811.1094851. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Robert Ennals and Minos Garofalakis. Mashmaker: Mashups for the masses (demo paper). In Proceedings of the 2007 ACM SIGMOD International Conference on Management of Data (SIGMOD'2007), 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Alexander Faaborg and Henry Lieberman. A goal-oriented web browser. In CHI '06: Proceedings of the SIGCHI conference on Human Factors in computing systems, pages 751--760, New York, NY, USA, 2006. ACM Press. ISBN 1-59593-372-7. doi: http://doi.acm.org/10.1145/1124772.1124883. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. Michael Franklin, Alan Halevy, and David Maier. From databases to dataspaces: A new abstraction for information management. In SIGMOD Record, 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. Jun Fujima, Aran Lunzer, Kasper Hornbæk, and Yuzuru Tanaka. Clip, connect, clone: combining application elements to build custom interfaces for information access. In UIST '04: Proceedings of the 17th annual ACM symposium on User interface software and technology, pages 175--184, New York, NY, USA, 2004. ACM Press. ISBN 1-58113-957-8. doi: http://doi.acm.org/10.1145/1029632.1029664. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. Zhenjiang Hu, Shin-Cheng Mu, and Masato Takeichi. A programmable editor for developing structured documents based on bidirectional transformations. In PEPM '04: Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, pages 178-189, New York, NY, USA, 2004. ACM Press. ISBN 1-58113-835-0. doi: http://doi.acm.org/10.1145/1014007.1014025. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. Caitlin Kelleher and Randy Pausch. Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers. ACM Comput. Surv., 37 (2): 83--137, 2005. ISSN 0360-0300. doi: http://doi.acm.org/10.1145/1089733.1089734. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. Thomas Leonard. Tree-Sheets and Structured Documents. PhD thesis, University of Southampton, 2004.Google ScholarGoogle Scholar
  12. Henry Lieberman. Your wish is my command: programming by example. Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 2001. ISBN 1-55860-688-2.Google ScholarGoogle Scholar
  13. Seung Chan Slim Lim and Peter Lucas. Jda: a step towards large-scale reuse on the web. In OOPSLA '06: Companion to the 21st ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications, pages 586--601, New York, NY, USA, 2006. ACM Press. ISBN 1-59593-491-X. doi: http://doi.acm.org/10.1145/1176617.1176631. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. Dongxi Liu, Zhenjiang Hu, and Masato Takeichi. An environment for maintaining computation dependency in XML documents. In DocEng '05: Proceedings of the 2005 ACM symposium on Document engineering, pages 42--51, New York, NY, USA, 2005. ACM Press. ISBN 1-59593-240-2. http://doi.acm.org/10.1145/1096601.1096616. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. David Mandelin, Lin Xu, Rastislav Bodik, and Doug Kimelman. Jungloid mining: helping to navigate the API jungle. In PLDI '05: Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation, pages 48--61, New York, NY, USA, 2005. ACM Press. ISBN 1-59593-056-6. doi: http://doi.acm.org/10.1145/1065010.1065018. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. Simon Peyton Jones. Wearing the hair shirt: a retrospective on Haskell (invited talk). In ACM SIGPLAN Conferenge on Principles of Programming Languages (POPL'03), 2003.Google ScholarGoogle Scholar
  17. Simon Peyton Jones, editor. Haskell 98 Language and Libraries: the Revised Report. Cambridge University Press, May 2003.Google ScholarGoogle Scholar
  18. Simon Peyton Jones, Alan Blackwell, and Margaret Burnett. A user-centred approach to functions in Excel. In ICFP '03: Proceedings of the eighth ACM SIGPLAN international conference on Functional programming, pages 165--176, New York, NY, USA, 2003. ACM Press. ISBN 1-58113-756-7. doi: http://doi.acm.org/10.1145/944705.944721. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. Marwan Sabbouh, Jeff Higginson, Danny Gagne, and Salim Semy. Web mashup scripting language (poster). In 16th International World Wide Web Conference, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. M. C. Schraefel, Daniel Wigdor, Yuxiang Zhu, and David Modjeska. Hunter gatherer: within-web-page collection making. In CHI '02: CHI '02 extended abstracts on Human factors in computing systems, pages 826--827, New York, NY, USA, 2002. ACM Press. ISBN 1-58113-454-1. doi: http://doi.acm.org/10.1145/506443.506617. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. Michael Schrenk. Webbots, Spiders, and Screen Scrapers. No Starch Press, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  22. Atsushi Sugiura and Yoshiyuki Koseki. Internet scrapbook: automating web browsing tasks by demonstration. In UIST '98: Proceedings of the 11th annual ACM symposium on User interface software and technology, pages 9--18, New York, NY, USA, 1998. ACM Press. ISBN 1-58113-034-1. doi: http://doi.acm.org/10.1145/288392.288395. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. Masato Takeichi, Zhenjiang Hu, Kazuhiko Kakehi, Yashushi Hayashi, Shin-Cheng Mu, and Keisuke Nakano. TreeCalc: towards programmable structured documents. In Japan Society for Software Science and Technology, 2003.Google ScholarGoogle Scholar
  24. Jeffrey Wong and Jason Hong. Marmite: end-user programming for the web. In CHI '06: CHI '06 extended abstracts on Human factors in computing systems, pages 1541--1546, New York, NY, USA, 2006. ACM Press. ISBN 1-59593-298-4. doi: http://doi.acm.org/10.1145/1125451.1125733. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. User-friendly functional programming for web mashups

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        ICFP '07: Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
        October 2007
        346 pages
        ISBN:9781595938152
        DOI:10.1145/1291151
        • cover image ACM SIGPLAN Notices
          ACM SIGPLAN Notices  Volume 42, Issue 9
          Proceedings of the ICFP '07 conference
          September 2007
          331 pages
          ISSN:0362-1340
          EISSN:1558-1160
          DOI:10.1145/1291220
          Issue’s Table of Contents

        Copyright © 2007 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 1 October 2007

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • Article

        Acceptance Rates

        Overall Acceptance Rate333of1,064submissions,31%

        Upcoming Conference

        ICFP '24

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader