Roger Hui

Roger Kwok Wah Hui (born 1953) is a computer scientist and co-developer of the programming language J, and later Dyalog APL. He runs and maintains the Jsoftware website.



History
Hui's work was described at the APL85 conference in a paper, "DESIGN: A Financial Modelling System", written jointly with his supervisor, Fred Appleyard. The basic objects in the system were in "Direct Definition" (Iverson, 1976, 1980), and Falkoff and Iverson's The Design of APL was cited. Hui left Alberta Energy shortly after being promoted to a non-APL and non-programming position, and was out of work, and had no access to computers, from September 1985 to April 1986. This gave him plenty of time for intense study of Iverson's Rationalized APL (1983) and A Dictionary of the APL Language, as it was then named. In 1996, Hui received the Iverson Award for his work on the design, implementation, and commercial development of J.

APL conferences

 * APL85: Design: a financial modelling system. With Fred Appleyard.
 * APL87: Some uses of { and }.
 * APL90: APL\?. With Kenneth E. Iverson, E. E. McDonnell, and Arthur T. Whitney.
 * APL91: Gerunds and representations. With Robert Bernecky.
 * APL91: Tacit definition. With Kenneth E. Iverson and Eugene E. McDonnell.
 * APL94: TAGS: trains, agendas, and gerunds. With Kenneth E. Iverson.
 * APL95: Rank and uniformity.
 * APL95: Representations of recursion. With Kenneth E. Iverson.
 * APL97: Mathematical roots of J. With Kenneth E. Iverson.
 * APL99: Sparse arrays in J.

Dyalog user meetings

 * Dyalog '08 05: Performance Improvements in Dyalog: A Case Study (materials)
 * Dyalog '09 15: Complex Numbers Implementation Stories (materials)
 * Dyalog '09  26: The Rank Operator (materials)
 * Dyalog '10 P07: Hashing for Tolerant Index-Of (materials)
 * Dyalog '11 D04: Introducing the Dyalog '11 Conference Edition (with John Scholes)
 * Dyalog '11  D05: Rational Numbers (materials)
 * Dyalog '11  D18: What is Functional Programming? (with John Scholes)
 * Dyalog '12 D04: Potential Version 14.0 Language Features (materials) (with John Scholes)
 * Dyalog '12  D08: Dyalog APL Benchmarks and Performance Enhancements (materials)
 * Dyalog '13 D08: Rank and Friends (materials)
 * Dyalog '13  D11: Primitive Performance (slides, materials) (with Morten Kromberg)
 * Dyalog '14 D06: The Tuning Pipeline (materials) (with Kimmo Kekäläinen)
 * Dyalog '15 D04: Core Performance (slides_JF, materials_RH) (with Jay Foad)
 * Dyalog '15  D16: Future Operator Proposals: Cut, Under, Merge (materials) (with John Scholes)
 * Dyalog '16 D06: New Primitive Functions and Operators (materials, demo script) (with John Scholes)
 * Dyalog '16  D08: Performance: The Neverending Story (slides_JF, slides_RH) (with Jay Foad)
 * Dyalog '17 D07: Index-Of on Multiple Floats (materials)
 * Dyalog '17  D10: Tolerant Unique (materials)
 * Dyalog '17  D15: TAO – Total Array Ordering (materials) (with John Scholes)
 * Dyalog '18 D14: Inverted Tables (slides)
 * Dyalog '20 D07: Rational Arithmetic (materials)

Other talks

 * Functional Conf 2017: Tests, Derivations, Proofs