| 11 | | ==== Ben (benl23) -- updated 10th March 2010 ==== |
| 12 | | * I'm currently refactoring the representation of types (in Type.Exp) to use a Data.Map to hold type constraints instead of a flat list. Along the way I'm redoing some of the more naive parts of the type inferencer, which should result in a major performance improvement. Once the representation of types has stabilised I'll be able to see about fixing #2 (checking the types of instance functions against their definitions) which is a major cause of confusing panic messages. |
| 13 | | * As part of that, I'm redoing the code that manages interface files. The previous setup was very hacky, and compiling a module meant totally loading all interface files for all imported modules, even in only a tiny proportion of the information was used. The new module code should be significantly cleaner and faster. |
| | 11 | ==== Ben (benl23) -- updated 13th April 2010 ==== |
| | 12 | * Over the last couple of weeks I've been doing thesis corrections, so not as much coding of late. |
| | 13 | * When coding I'm mostly refactoring and cleaning up the code base, getting it more stable before moving on to bug fixing. |
| | 14 | * Refactoring the representation of types to use a Data.Map to hold type constraints instead of a flat list. |
| | 15 | * Refactoring the top-level driver to use a better structure to hold top-level-things instead of a flat list. |
| | 16 | * Refactoring the representation of type and kind constructors to match last year's APLAS paper. |
| | 17 | * Also implementing a new module interface file format. We need this to propagate constraints on top-level regions between modules, and also to move towards being able to do cross-module inlining. |