Changes between Version 9 and Version 10 of Status/May12
 Timestamp:
 May 10, 2012 10:42:31 AM (3 years ago)
Legend:
 Unmodified
 Added
 Removed
 Modified

Status/May12
v9 v10 16 16 Here are the projects we're currently working on: 17 17 18 * '''Kind polymorphism'''. Simon PJ has been workig hard on completing the implementation of kind polymorphism and data type promotion [3]. This will appear for the first (supported) time in GHC 7.6; please do stresstest the HEAD.18 * '''Kind polymorphism'''. Simon PJ has been workig hard on completing the implementation of kind polymorphism and data type promotion [3]. This will appear for the first (supported) time in GHC 7.6; please do stresstest the HEAD. 19 19 20 * '''Deferred type errors'''. Etienne Laurin suggested [16] that GHC could compile and run a program even though it contains type errors. After all, the bit you want to run might not contain the error, and it's sometimes annoying to have to fix ''every'' type error before you can run ''any'' code. It turned out that there was a beautifully simple way to fit this idea into GHC's new constraintbased type inference engine, and we have now done so. It's all explained in "Equality proofs and deferred type errors" [17], and will be in GHC 7.6.20 * '''Deferred type errors'''. Etienne Laurin suggested [16] that GHC could compile and run a program even though it contains type errors. After all, the bit you want to run might not contain the error, and it's sometimes annoying to have to fix ''every'' type error before you can run ''any'' code. It turned out that there was a beautifully simple way to fit this idea into GHC's new constraintbased type inference engine, and we have now done so. It's all explained in "Equality proofs and deferred type errors" [17], and will be in GHC 7.6. 21 21 22 * '''Holes in terms'''. Thijs Alkemade and Sean Leather have been working on another variant of deferred error messages, that would allow you to write a program that contains asyetunwritten subterms, or "holes" and have GHC report a fairly precise type for the hole. The idea is inspired by Agda's interactive programming environment, which has a facility of this kind. The more complicated the types get, the more useful this is! Details on their wiki page [18].22 * '''Holes in terms'''. Thijs Alkemade and Sean Leather have been working on another variant of deferred error messages, that would allow you to write a program that contains asyetunwritten subterms, or "holes" and have GHC report a fairly precise type for the hole. The idea is inspired by Agda's interactive programming environment, which has a facility of this kind. The more complicated the types get, the more useful this is! Details on their wiki page [18]. 23 23 24 * '''Type level literals'''. Iavor Diatchki has added typelevel natural numbers (kind `Nat`) and strings (kind `Symbol`) to GHC. You can find lots of details on his wiki page [20]. At the moment there is no useful ''computation'' over the typelevel naturals, but there will be soon.24 * '''Type level literals'''. Iavor Diatchki has added typelevel natural numbers (kind `Nat`) and strings (kind `Symbol`) to GHC. You can find lots of details on his wiki page [20]. At the moment there is no useful ''computation'' over the typelevel naturals, but there will be soon. 25 25 26 * '''Typechecker performance improvements'''. Most of the smarts of type inference are now located in the type constraint solver, described in our paper "Modular type inference with local assumptions: OutsideIn(X)" [19]. It works just fine for redgular old MLstyle programs, but was a bit slow for programs that make heavy use of typelevel computation. Dimitrios has been working hard to improve its performance; we have carried out at least three major refactorings, deleted tons of code, and made it faster and more beautiful.26 * '''Typechecker performance improvements'''. Most of the smarts of type inference are now located in the type constraint solver, described in our paper "Modular type inference with local assumptions: OutsideIn(X)" [19]. It works just fine for redgular old MLstyle programs, but was a bit slow for programs that make heavy use of typelevel computation. Dimitrios has been working hard to improve its performance; we have carried out at least three major refactorings, deleted tons of code, and made it faster and more beautiful. 27 27 28 28 * '''Windows x64 Support''' (Ian L). The Industrial Haskell Group has funded work to implement 64bit Windows support in GHC. The port is now selfhosting and mostly complete, with just a number of bugs in the periphery to fix, and some logistics to work out. We expect a 64bit Windows installer to be included in the GHC 7.6 releases. … … 62 62 [13] [http://parfunk.blogspot.com.au/2012/05/howtowritehybridcpugpuprograms.html] [[BR]] 63 63 [14] [https://github.com/AccelerateHS/accelerate] [[BR]] 64 [15] [http://community.haskell.org/~simonmar/papers/concsubstrate.pdf] 65 [16] Deferring type errors to runtime http://hackage.haskell.org/trac/ghc/wiki/DeferErrorsToRuntime 66 [17] Equality proofs and deferred type errors http://research.microsoft.com/enus/um/people/simonpj/papers/extf/ 67 [18] Holes in GHC: http://hackage.haskell.org/trac/ghc/wiki/Holes 68 [19] Modular type inference with local assumptions: OutsideIn(X) http://www.haskell.org/haskellwiki/Simonpj/Talk:OutsideIn 64 [15] [http://community.haskell.org/~simonmar/papers/concsubstrate.pdf] [[BR]] 65 [16] Deferring type errors to runtime http://hackage.haskell.org/trac/ghc/wiki/DeferErrorsToRuntime [[BR]] 66 [17] Equality proofs and deferred type errors http://research.microsoft.com/enus/um/people/simonpj/papers/extf/ [[BR]] 67 [18] Holes in GHC: http://hackage.haskell.org/trac/ghc/wiki/Holes [[BR]] 68 [19] Modular type inference with local assumptions: OutsideIn(X) http://www.haskell.org/haskellwiki/Simonpj/Talk:OutsideIn [[BR]] 69 69 [20] Type level literals. http://hackage.haskell.org/trac/ghc/wiki/TypeNats/Basics