Custom Query (164 matches)

Filters
 
Or
 
  
 
Columns

Show under each result:


Results (31 - 33 of 164)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Ticket Resolution Summary Owner Reporter
#36 invalid HaRe in GHC none paolo
Description

The Haskell Refactorer, HaRe, is a tool for refactoring Haskell systems. HaRe handles multi-module systems, and respects layout and comments, so that refactored code looks as much as possible like the original. HaRe covers the whole of Haskell 98, and uses the Programatica system for its front end functionality.

Unfortunately, HaRe does not cover the whole of GHC Haskell. The aim of this project is to port HaRe to the GHC API, so that HaRe can extend its user base (and indeed be used to refactor itself!). This project builds on a feasibility study by Chris Ryder, which covers much of the tricky preliminary investigative work.

Interested Mentors

  • (2006) Simon Thompson <s.j.thompson@…>

Interested Students

  • (2006) Pepe Iborra <mnislaih@…>
  • (2008) Benedikt Huber <benedikt.huber@…>
  • (2008) Chaddaï Fouché <chaddai.fouche@…>
#37 wontfix Refactoring to Classes none paolo
Description

Haskell has a powerful overloading mechanism with interfaces provided by type classes and bindings to those interfaces by instance declarations. It is natural during program development first to define a system without overloading, and then to identify ways in which it can be introduced. This might be by identifying a single set of functions to form the basis of a class, or by identifying two such sets, which are to share the same collection of names.

The aim of the project is to identify the use cases which would be most helpful to users, and then to implement them in the Haskell Refactorer, HaRe,. A particularly fertile application area is in transformation of non-monadic code into a monadic version.

Interested Mentors

  • (2006) Simon Thompson <s.j.thompson@…>

Interested Students

#38 invalid <deleted> none paolo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Note: See TracQuery for help on using queries.