In the new-pipeline, runQ should be re-implemented. This variant of runN allows compilation of Accelerate programs to happen at Haskell compile-time using Template Haskell, instead of Haskell run-time. It is implemented by converting (one of) the last AST(s) to Template Haskell expression.
For the new-pipeline, this will probably be the Linked language. However, we may want to split Linking in two phases, where phase 1 compiles the intra-kernel part of the program, and phase 2 actually loads the functions in memory using the system linker.
In the new-pipeline, runQ should be re-implemented. This variant of runN allows compilation of Accelerate programs to happen at Haskell compile-time using Template Haskell, instead of Haskell run-time. It is implemented by converting (one of) the last AST(s) to Template Haskell expression.
For the new-pipeline, this will probably be the Linked language. However, we may want to split Linking in two phases, where phase 1 compiles the intra-kernel part of the program, and phase 2 actually loads the functions in memory using the system linker.