You are here:
(05 Nov 2012, SeanLeather)
---++ Current Projects * Using data kinds for Multirec - Wout Elsinghorst and Stijn van Drongelen - Johan Jeuring * XML, HTML, XHTML, HTML5 - Liewe van Binsbergen, Joao Alpuim, João Paulo Pizani Flor - Johan Jeuring * XMonad - Andreas Nikas, Nikos Savvidis - Sean Leather * [[http://community.haskell.org/~ndm/hlint/][hlint]] - Laurens van den Brink, Jaap van der Plas - Sean Leather * Parsec2 - Tom Tervoort - Johan Jeuring * [[http://mypage.iu.edu/~gdweber/software/sifflet/][sifflet]], hamusic, pandoc - Cas Plattel, Joseph Tsun Kiet Man, Paul Staats - Sean Leather <!-- 2011 * Analysis of GP on Hackage: Nikolaos Bezirgiannis, Christiaan Floor * Formalizing Translation Between Universes: Justin Paston-Cooper, Paul van der Walt, Marcelo Sousa * Generating Values in Agda: Gabe Dijkstra, Ingo van Duijn, Hidde Verstoep * Generic Bidirectionalization: Tim Soethout, Raymond Wagenmaker * XML Compression: Stijn van Drongelen, Duncan van Roermund * Comparison of =generic-deriving= and =multiplate=: Beerend Lauwers, Augusto Martins, Frank Wijmans --> ---++ Procedure 1. *Choose a team.* 2. *Choose a library to analyze.* <!-- 2. *Choose a research topic.* See below. --> 3. *Discuss and implement.* 4. *Meet regularly with supervisor.* Your supervisor will be either the lecturer or someone else. 5. *Present your results.* We will hold a workshop during the exam time for every team to present. 6. *Submit a report.* See below. ---++ Choosing a Team These criteria can help you find other students who might be compatible with you. * Similar interests * Similar background A team preferably consists of two people. Discuss with the lecturers if you want to have a team of three people or one person. ---++ Choosing a Project This year, we propose the following project for all students: * Analyse a library or an application on Hackage. * Determine if it uses generic programming techniques. * If not, could it use generic programming techniques to good effect? Which generic programming technique? * Implement (some of) the generic functionality. * If there are no opportunities for generic programming, move on to the next library. You write a report about what your work. We intend to collect your report and write a single paper for the Workshop on Generic Programming, Boston, 2013. You can pick any hackage library you like, but we think a library or application that is downloaded a lot is most interesting. Here are the most recent [[http://haskellwebnews.wordpress.com/2011/03/16/hackage-stats-the-past-year/][download statistics]]. Examples: * XMonad * transformers * haskell-src-exts * ... Email the team and the chosen library to J.T.Jeuring@uu.nl by October 2. <!-- Finding a project of the appropriate scope and interest can be challenging. It is up to you (with approval by the lecturer) what project you select. Here is some information to help you in your search. ---+++ Previous Projects * Generics in UHC/GHC * Source code annotation * Zippers for instant generics * Zipper in SYB in Scala * Generic bidirectionalization * Implement a regular-like library for higher-order functors (for nested datatypes) * Analysis of GP on Hackage * Formalizing translation between universes * Generating values in Agda * XML compression * Comparison of GP libraries --> It is not uncommon that the results of your project (which is sometimes followed by a Master's thesis project) will end up in a research publication. For examples, see: * [From the course in 2007, followed by a Master's thesis:] Martijn van Steenbergen, José Pedro Magalhães, and Johan Jeuring. Generic selections of subexpressions. WGP 2010. * [From the course in 2006, followed by a Master's thesis:] Thomas van Noort, Alexey Rodriguez, Stefan Holdermans, Johan Jeuring, and Bastiaan Heeren. A Lightweight Approach to Datatype-Generic Rewriting. WGP 2008. * [From the course in 2006:] Patrik Jansson, Johan Jeuring, and students of the Utrecht University Generic Programming class. Testing properties of generic functions. IFL 2006. * [From the course in 2006:] Johan Jeuring, Alexey Rodriguez, and Gideon Smeding. Generating generic functions. WGP 2006. <!-- ---+++ Ideas for New Projects * Analyse possibilities of parallel programming for Generic Programming libraries * Contracts for generic functions, deriving contracts from datatypes * Programming with type-indexed datatypes * What is the pattern in `Sorting with Bialgebras and Distributive Laws' --> <!-- 2011 * Associative (and/or commutative) constructors for generic functions (difficult) * Generic bidirectionalization * Refactor programs to be more generic * DTD-/Schema-based XML compression: implementation and benchmarking * Exhaustive implementation of popular =generic-deriving= functions: implementation and benchmarking * Analysis of use of generic programming on Hackage (package dependencies, imports, functions, deriving, etc.) * Benchmark =generic-deriving= in GHC 7.2 * GP in DTP * Modeling libraries * Generating elements in Agda * Revisit one of the presented papers * Compositional Data Types (benchmarking) * Analyze library according to comparison (e.g. =Multiplate=, =compdata=) * Improve upon the research --> ---+++ Your Own Ideas Do you have some interesting idea for a research project on generic programming? We are certainly open to suggestions. Talk to the lecturer to see if your idea would fit the intended goal and scope of the course project. ---++ Report and Presentation The main focus of the project report and presentation should be the following: * *Research question.* Identify a clear and motivated question to answer. * *Research contribution.* Develop an implementation or new knowledge to answer the research question. * *Research method.* Discuss how you arrived at your answer. * *Related work.* Compare your answer with other contributions. Your report has to be handed in on Friday, November 2 to J.T.Jeuring@uu.nl. The projects will be presented on Monday, November 5. ---++ Grading Project content: * Goal achievement * Novelty * Independent work * Compares well to related work * Clear and thorough explanation Report: * 70% content * 30% style Presentation (see [[Papers#Grading]]): * 70% content * 30% style Total: 80% report, 20% presentation
ore topic actions
Topic revision: r26 - 05 Nov 2012, SeanLeather
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding UUCS?