In this paper, we argue that we should look at programming language design for inspiration.
Of course, this observation is not new, but we believe that this paper adds a new perspective by providing insights into our experience of following this approach.
We present our experience of designing the optimizing Shine compiler for RISE — a functional data-parallel programming language in the spirit of Lift [1]}, [2]}.
RISE builds on a small functional core language that is enriched with data-parallel patterns such as map and reduce suitable for expressing numerical computations over tensors relevant in many domains ranging from machine learning to scientific computing.
The functional and pattern-based design makes it easy to exploit high-level optimization opportunities via rewriting and to generate high-performance code as explored before in the context of Lift [3]}, [4]} and RISE [5]}, [6]}.
