Custom Query (170 matches)
Results (31 - 33 of 170)
|#1553||fixed||cabal-install package dependency resolution||duncan|
`cabal-install` is the new command line interface to the Cabal/Hackage? system. It does all that runghc Setup.hs does and more. Its major feature is the ability to download an install packages from hackage, including all dependencies.
For example the user says cabal install xmonad and it goes away and looks at what packages are available on hackage and which ones are already installed and works out what packages need to be installed in what order to satisfy the users request.
It turns out that deciding what packages to install is not as easy as it looks. Package dependencies can get quite complicated. Furthermore, users have preferences which we would like to respect. For example the user might want to upgrade all packages that can be upgraded, or they might prefer to install the minimum number of new packages and re-ruse as many existing installed packages as possible. So we need an algorithm that is sufficiently flexible to handle these. Users also expect good error messages in the cases that their request cannot be satisfied.
The current algorithm in cabal-install is very simplistic. It works in simple cases, but it can often generate impossible solutions and it is not flexible to respect user preferences.
There are a number of open bugs about the current system:
The first two are summary bugs (that cover a number of other previous tickets), the last is a specific one.
So this project is to design a new package dependency resolution algorithm and to implement it in cabal-install so that the whole community can benefit from hassle free package management.
|#1559||fixed||Parallel profiling tools for GHC||simonmar|
We currently have no tools to investigate the performance of parallel programs, other than the raw timings you get from +RTS -sstderr, and this makes parallel programming rather hard. This project would involve building and testing various tools for investigating the performance of parallel programs.
This project would particularly benefit from #1544 if that was also accepted, as there would be some benchmark code to work with.
I (SimonM) have ports of the GranSim parallel profiling tools, that were done by Michael Adams during his internship at MSR. A good starting point for this project would be to take that work, take a critical look at it and see what needs to be done (if anything) to get it into the tree. We might want to build additional tools using the same framework.
|#1561||fixed||Cleanup, document and improve the GHC API||simonmar|
The GHC API currently has no documentation beyond the source and a few wiki pages, e.g. http://haskell.org/haskellwiki/GHC/As_a_library. The GHC API has grown on demand: it contains mostly what GHCi needs, and not much else. This project would involve:
The goal would be to present an easy to use and well-documented GHC API for GHC 6.10, and a selection of example code for potential users to start from.