Location: ARRAY '14 Paper


The APL language allows subject matter experts with no computer science experience to create large and complex software implementations of ideas without excessive software engineering and external development costs. The rapid increase in data sizes challenges existing APL systems, which are all interpreters, to scale with the domain expert's problem size. The Co-dfns project, currently in early development stages, focuses on delivering new language innovations and a high-performance compiler for modern APL that enables domain experts to scale their ideas to their data using modern hardware architectures. The Co-dfns language provides concise primitives that allow domain experts to utilize concurrency and explicit task parallelism in their code. The compiler addresses critical performance bottlenecks of the Dyalog APL interpreter, while maintaining strong integration and compatibility with existing APL workflows. Co-dfns will allow domain experts to scale their code more successfully without requiring them to rewrite critical portions of their code in other languages. Early benchmarking efforts indicate that even naive and unoptimized versions of the Co-dfns compiler compete well with Dyalog on code that naturally lends itself to APL.