Topic for an undergraduate thesis
Haskell programming technologies
Ralf Lämmel, Andrei Varanovich
Develop a small number of Haskell-based implementations for the 101companies software corpus so that an interesting set of programming technologies is exercised. The idea is here to exercise indeed technical spaces, programming styles, different libraries, and to the extent possible, interesting capabilities such as parallelism or GUI support. Of course, all Haskell-based implementations should be idiomatic and interesting from a Haskell-centric point of view. For instance, issues of static type safety, advanced polymorphism and laziness should be illustrated. However, the most important requirement is that different programming technologies are exercised meaningfully.
If time permits, describe megamodels of technology usage as well as program analyses to determine technology usage according to the megamodels. These ideas are described elsewhere.