Aaron Hsu

Aaron Wen-yao Hsu is the implementor of Co-dfns and an advocate for a terse and minimal array programming style. Hsu has a background in academic functional programming, and was primarily a Scheme programmer for ten years before learning APL. He was introduced to APL by Morten Kromberg while working on a GPU-hosted compiler, and switched to Dyalog APL for the project, which is now Co-dfns. Most of Hsu's work on Co-dfns has been as a Ph.D. candidate at Indiana University; he was awarded his Ph.D. in 2019 and continues to develop Co-dfns with funding from Dyalog Ltd.

Publications

 * APL blog posts on Hsu's blog, Fastidious Elegance.

Papers

 * Co-dfns: Ancient Language, Modern Compiler
 * Accelerating Information Experts Through Compiler Design
 * The Key to a Data Parallel Compiler
 * A Data Parallel Compiler Hosted on the GPU (also available as PDF that allows searching for and copying text)

Presentations

 * Dyalog '13 I04: Co-dfns Compiler (slides)
 * Dyalog '13 I08: Computer Science Outreach and Education with APL (slides)
 * Dyalog '14 U07: Co-dfns Report: Performance and Reliability Prototyping (slides)
 * Dyalog '15 U11: Using Co-dfns to Accelerate APL Code
 * Dyalog '16 U06: Co-dfns Report: GPU Performance, Workflow, and Usability (slides)
 * Dyalog '17 U01: Patterns and Anti-patterns in APL: Escaping the Beginner's Plateau (slides)
 * Dyalog '17 U05: Co-dfns Report 2017: Ease of Use, Reliability and Features (slides)
 * FunctionalConf 2017: APL Patterns vs. Anti-Patterns
 * Dyalog '18 U04: Co-dfns 2018 – What's New? (slides)
 * Dyalog '18 U19: High-performance Tree Wrangling, the APL Way (slides)
 * FnConf 2018: Does APL Need a Type System?
 * FnConf 2018: Array-oriented Functional Programming
 * Dyalog '19 U03: Lessons for the Masses from the Trenches of Co-dfns (slides)
 * Jio talk: Pragmatic Array Oriented Functional Programming
 * BOB 2019: Live Reading/Writing Co-dfns, The Way of APL
 * FnConf 2019: Programming Obesity: A Code Health Epidemic

Videos

 * Co-dfns Compiler Architecture and Design
 * User Command for Co-dfns