Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/2620678.2620681acmotherconferencesArticle/Chapter ViewAbstractPublication PagesiflConference Proceedingsconference-collections
research-article

The 101haskell Chrestomathy: A Whole Bunch of Learnable Lambdas

Published: 28 August 2013 Publication History
  • Get Citation Alerts
  • Abstract

    The paper describes the 101haskell chrestomathy---a collection of Haskell programs implementing features of a hypothetical information system in a manner to represent knowledge about functional programming useful for learning (and teaching). The programs are enriched with documentation, metadata, and links to other knowledge resources such as Wikipedia and Haskell textbooks. The underlying ontology is informed by a process of knowledge integration which derives a consolidated vocabulary mainly by text mining and summarization from textbooks. The usefulness of 101haskell for teaching is demonstrated with a functional programming course that is directly based on 101haskell.

    References

    [1]
    P. Achten. The Soccer-Fun project. J. Funct. Program., 21(1):1--19, 2011.
    [2]
    C. C. Aggarwal and C. Zhai, editors. Mining Text Data. Springer, 2012.
    [3]
    E. Ahmed. Use of Ontologies in Software Engineering. In Proc. of SEDE 2008, pages 145--150. ISCA, 2008.
    [4]
    E. F. Barbosa, E. Y. Nakagawa, A. C. Riekstin, and J. C. Maldonado. Ontology-based Development of Testing Related Tools. In Proc. of SEKE 2008, pages 697--702. Knowledge Systems Institute Graduate School, 2008.
    [5]
    D. S. Batory. Feature Models, Grammars, and Propositional Formulas. In Proc. of SPLC 2005, volume 3714 of LNCS, pages 7--20. Springer, 2005.
    [6]
    P. Bell, E. A. Davis, and M. C. Linn. The knowledge integration environment: theory and design. In Proc. of CSCL 1995, pages 14--21, 1995.
    [7]
    S. Bird, E. Loper, and E. Klein. Natural Language Processing with Python. O'Reilly Media Inc., 2009.
    [8]
    V. A. Borges, J. C. Maldonado, and E. F. Barbosa. Towards the establishment of supporting mechanisms for modeling and generating educational content. In Proc. SAC 2011, pages 1202--1207. ACM, 2011.
    [9]
    M. N. K. Boulos. Semantic Wikis: A Comprehensible Introduction with Examples from the Health Sciences. Journal of Emerging Technologies in Web Intelligence, 1(1):94--96, 2009.
    [10]
    M. M. T. Chakravarty and G. Keller. The risks and benefits of teaching purely functional programming in first year. J. Funct. Program., 14(1): 113--123, 2004.
    [11]
    S. Dietze, H. Q. Yu, D. Giordano, E. Kaldoudi, N. Dovrolis, and D. Taibi. Linked education: interlinking educational resources and the web of data. In Proc. SAC 2012. ACM, 2012.
    [12]
    J. Euzenat and P. Shvaiko. Ontology matching. Springer-Verlag, 2007.
    [13]
    J.-M. Favre, R. Lämmel, M. Leinberger, T. Schmorleiz, and A. Varanovich. Linking Documentation and Source Code in a Software Chrestomathy. In Proc. of WCRE 2012, pages 335--344. IEEE, 2012.
    [14]
    J.-M. Favre, R. Lämmel, T. Schmorleiz, and A. Varanovich. 101companies: a community project on software technologies and software languages. In Proc. of TOOLS 2012, volume 7304 of LNCS, pages 59--74. Springer, 2012.
    [15]
    J.-M. Favre, R. Lämmel, and A. Varanovich. Modeling the Linguistic Architecture of Software Products. In Proc. of MODELS 2012, volume 7590 of LNCS, pages 151--167. Springer, 2012.
    [16]
    M. Felleisen, R. B. Findler, M. Flatt, and S. Krishnamurthi. The structure and interpretation of the computer science curriculum. J. Funct. Program., 14(4):365--378, 2004.
    [17]
    A. Forte and A. Bruckman. Constructing text:: Wiki as a toolkit for (collaborative?) learning. In Int. Sym. Wikis, pages 31--42, 2007.
    [18]
    I. Giannoukos, I. Lykourentzou, G. Mpardis, V. Nikolopoulos, V. Loumos, and E. Kayafas. Collaborative e-learning environments enhanced by wiki technologies. In Proc. of PETRA 2008, page 59. ACM, 2008.
    [19]
    H. Halpin, P. J. Hayes, and H. S. Thompson. When owl:sameAs isn't the Same Redux: A preliminary theory of identity and inference on the Semantic Web. In Proc. of LHD 2011), pages 25--30, 2011.
    [20]
    T. Heath and C. Bizer. Linked Data: Evolving the Web into a Global Data Space. Synthesis Lectures on the Semantic Web: Theory and Technology. Morgan & Claypool, 2011. 1st edition.
    [21]
    G. Hutton. Programming in Haskell. Cambridge University Press, 2007. http://www.cs.nott.ac.uk/gmh/book.html.
    [22]
    K. S. Jones. A statistical interpretation of term specificity and its application in retrieval. Journal of Documentation, 28:1121, 1972.
    [23]
    S. L. P. Jones and P. Wadler. The Educational Pearls column. J. Funct. Program., 13(5):833--834, 2003.
    [24]
    G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. V. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-Oriented Programming. In Proc. of ECOOP 1997, volume 1241 of LNCS, pages 220--242. Springer, 1997.
    [25]
    D. E. Knuth. Literate Programming. Comput. J., 27(2):97--111, 1984.
    [26]
    R. Lämmel. Software chrestomathies. Science of computer programming, 2014. To appear.
    [27]
    R. Lämmel and S. L. P. Jones. Scrap your boilerplate: a practical design pattern for generic programming. In Proc. of TLDI'03, pages 26--37. ACM, 2003.
    [28]
    R. Lämmel, M. Leinberger, T. Schmorleiz, and A. Varanovich. Comparison of feature implementations across languages and technologies. In Proc. of CSMR-WCRE 2014. IEEE, 2014. 5 pages. To appear.
    [29]
    B. Layton. Coptic Gnostic Chrestomathy: A Selection of Coptic Texts with Grammatical Analysis and Glossary. Peeters Pub, 2004.
    [30]
    D. Leijen and E. Meijer. Parsec: Direct Style Monadic Parser Combinators for the Real World. Technical report, University of Utrecht, 2001. Technical Report no. UU-CS-2001-27.
    [31]
    Y. Li and M. Dong. Towards a Knowledge Portal for E-Learning Based on Semantic Web. In Proc. of ICALT 2008, pages 910--912. IEEE, 2008.
    [32]
    Y. Li, M. Dong, and R. Huang. Designing Collaborative E-Learning Environments based upon Semantic Wiki: From Design Models to Application Scenarios. Educational Technology & Society, 14(4):49--63, 2011.
    [33]
    M. C. Linn. Designing the Knowledge Integration Environment. International Journal of Science Education, 22(8):781--796, 2000.
    [34]
    M. Lipovaca. Learn You a Haskell for Great Good! no starch press, 2011. http://learnyouahaskell.com/.
    [35]
    Many contributors. Rosetta Code, 2013. Wiki: http://rosettacode.org --- Accessed on 1 Nov 2013.
    [36]
    F. G. Martin. Will massive open online courses change how we teach? Commun. ACM, 55(8):26--28, 2012.
    [37]
    R. C. Nickerson, J. Muntermann, and U. Varshney. Taxonomy Development in Information Systems: A Literature Survey and Problem Statement. In Proc. of AMCIS 2010, page 125, 2010.
    [38]
    B. Omelayenko. Integrating Vocabularies: Discovering and Representing Vocabulary Maps. In Proc. of ISWC 2002, volume 2342 of LNCS, pages 206--220. Springer, 2002.
    [39]
    B. O'Sullivan, D. Stewart, and J. Goerzen. Real World Haskell. O'Reilly Media, 2008. http://book.realworldhaskell.org/.
    [40]
    S. P. Ponzetto and M. Strube. Taxonomy induction based on a collaboratively built knowledge repository. Artificial Intelligence, 175(9-10): 1737--1756, 2011. ISSN 0004-3702.
    [41]
    M. Rajman, R. Besanon, and R. Besancon. Text Mining: Natural Language techniques and Text Mining applications. In Proc. of DS-7, pages 7--10. Hall, 1997.
    [42]
    P. N. Robillard. The role of knowledge in software development. Commun. ACM, 42(1):87--92, 1999.
    [43]
    A. Rodriguez, J. Jeuring, P. Jansson, A. Gerdes, O. Kiselyov, and B. C. d. S. Oliveira. Comparing libraries for generic programming in Haskell. In Proc. of Haskell 2008, pages 111--122. ACM, 2008.
    [44]
    F. Ruehr. The Evolution of a Haskell Programmer, 2001. Website: http://www.willamette.edu/~fruehr/haskell/evolution.html --- Accessed on 1 Nov 2013.
    [45]
    M. Speretta and S. Gauch. Using Text Mining to Enrich the Vocabulary of Domain Ontologies. In Proc. WI 2008, pages 549--552. IEEE, 2008.
    [46]
    S. Thompson. Haskell: The Craft of Functional Programming (3rd edition). Addison-Wesley, 2011. http://www.haskellcraft.com/craft3e/Home.html.
    [47]
    S. J. Thompson and P. Wadler. Functional Programming in Education - Introduction. J. Funct. Program., 3(1):3--4, 1993.
    [48]
    A. Vihavainen, M. Luukkainen, and J. Kurhila. Multi-faceted support for MOOC in programming. In Proc. of SIGITE 2012, pages 171--176. ACM, 2012.
    [49]
    P. Wadler. The Essence of Functional Programming. In Conference Record of POPL 1992, pages 1--14. ACM, 1992.
    [50]
    J. Weirich. OO example code, 2013. Website: http://onestepback.org/articles/poly --- Accessed on 1 Nov 2013.
    [51]
    P. Wongthongtham, E. Chang, T. Dillon, and I. Sommerville. Ontology-based multi-site software development methodology and tools. Journal of Systems Architecture, 52(11):640--653, 2006.

    Cited By

    View all
    • (2023)A Systematic Literature Review of Virtual Reality Locomotion TaxonomiesIEEE Transactions on Visualization and Computer Graphics10.1109/TVCG.2022.320691529:12(5208-5223)Online publication date: Dec-2023
    • (2018)Functional Baby Talk: Analysis of Code Fragments from Novice Haskell ProgrammersElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.270.3270(37-51)Online publication date: 11-May-2018
    • (2016)Similarity management of 'cloned and owned' variantsProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2851785(1466-1471)Online publication date: 4-Apr-2016

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Other conferences
    IFL '13: Proceedings of the 25th symposium on Implementation and Application of Functional Languages
    August 2013
    146 pages
    ISBN:9781450329880
    DOI:10.1145/2620678
    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: 28 August 2013

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. 101companies
    2. 101haskell
    3. Functional programming education
    4. Haskell
    5. Knowledge integration
    6. Program chrestomathy
    7. Semantic metadata
    8. Software chrestomathy
    9. Wikipedia

    Qualifiers

    • Research-article
    • Research
    • Refereed limited

    Conference

    IFL '13

    Acceptance Rates

    Overall Acceptance Rate 19 of 36 submissions, 53%

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0

    Other Metrics

    Citations

    Cited By

    View all
    • (2023)A Systematic Literature Review of Virtual Reality Locomotion TaxonomiesIEEE Transactions on Visualization and Computer Graphics10.1109/TVCG.2022.320691529:12(5208-5223)Online publication date: Dec-2023
    • (2018)Functional Baby Talk: Analysis of Code Fragments from Novice Haskell ProgrammersElectronic Proceedings in Theoretical Computer Science10.4204/EPTCS.270.3270(37-51)Online publication date: 11-May-2018
    • (2016)Similarity management of 'cloned and owned' variantsProceedings of the 31st Annual ACM Symposium on Applied Computing10.1145/2851613.2851785(1466-1471)Online publication date: 4-Apr-2016

    View Options

    Get Access

    Login options

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media