| 27 | | * Runs a special pass called the '''vectoriser'''. This pass generates code that mentions (by Original Name) various functions defined in `dph-prim-seq` or `dph-prim-par` (depending on the compiler flag used). So if you change where a function is defined in `dph-prim-*`, or the name of the function, you have to make a corresponding change in GHC. |
| | 27 | * Runs a special pass called the '''vectoriser'''. This generates a close coupling between the vectoriser and the library: |
| | 28 | * The vectoriser generates code that mentions (by Original Name) various functions defined in `dph-prim-seq` or `dph-prim-par` (depending on the compiler flag used). So if you change where a function is defined in `dph-prim-*`, or the name of the function, you have to make a corresponding change in GHC. |
| | 29 | * The vectoriser knows quite a lot about the internal working of the library. For instance, it knows about the array representation. |
| | 30 | * Parts of the library are vectorised and since these are low-level parts, they rely on being vectorised in particular ways. This means that a particular version of the library will only work correctly with a particular version of the vectoriser and vice versa. '''SLPJ: can you be more precise here? Which packages are vectorised? What do you meean by "particular ways"?''' |
| | 31 | |
| | 32 | |