-
Notifications
You must be signed in to change notification settings - Fork 0
Evaluation: Expressivity
Evaluation of language expressivity
We should present the evaluation as a search for missing pieces in the languages. We are the "enemy" and should dig up all programs that it is impossible to write.
-
Neither Accelerate nor Nikola provides generalised maps, where a change of dimension is possible. That is, a map we could specialise in the same way as the following map is specialised to lists of lists: map :: (a -> [b]) -> [a] -> a We would like the possibility of writing a function: map :: (Array DIM0 f -> Array DIM1 f) -> Array DIM1 f -> Array DIM2 f
-
Accelerate does not provide sequential loops, only parallel loops, as they want to make performance guarantees for all programs
-
Nikola does not provide any reduction primitives (yet). Only maps (e.g. map and zipWith), index space permutations (e.g. reverse, reshape, tail, drop)
-
Repa does not provide scans