Bob Bernecky

Robert Bernecky is an APL designer and implementer notable for significant contributions to SHARP APL and developing an APL compiler, APEX.

Bernecky first began working with APL at I.P. Sharp Associates in 1971. His first APL-related publication, in 1973, described performance improvements to SHARP's Index-Of and Membership implementations. In addition to his implementation work, Bernecky contributed to the design of comparison tolerance, Replicate (extending Compress), and the Rank operator in SHARP APL. He remained at IPSA for three years after it was acquired by Reuters in 1987, leaving in 1990 to found his current company Snake Island Research and work on the APEX APL compiler. While at Snake Island Research he enrolled in graduate studies at the University of Toronto; he obtained a Master of Science degree in 1997 with a thesis titled "APEX: The APL Parallel Executor".

SHARP APL Technical Notes

 * SATN-22: APL Worspace Transfer (with Mike Symes). 1979-01-01.
 * SATN-23: Comparison Tolerance. 1977-06-10.
 * SATN-34: Replication. 1980-08-15.
 * SATN-45: Language Extensions of May 1983 (with Ken Iverson, Eugene McDonnell, Robert Metzger, and J. Henri Schueler). 1983-05-02.

APL conferences

 * APL73: Speeding up Dyadic Iota and Dyadic Epsilon.
 * IPSA '80: Operators and Enclosed Arrays (web). With Ken Iverson.
 * APL81: Representations for enclosed arrays.
 * APL84: Function arrays.
 * APL85: Writing interpreters (panel). With Geno Coschi, James Ryan, Bob Smith, Philip A. Van Cleave, and James Wheeler.
 * APL86: APL: A prototyping language.
 * APL87: Component file systems and the APL standard. With Maxine Hersch.
 * APL88: An introduction to function rank.
 * APL89: Profiling, performance, and perfection (tutorial session) (pdf).
 * APL90: ACORN: APL to C on real numbers (download). With Charles Brenner, Stephen B. Jaffe, and George P. Moeckel.
 * APL91: Gerunds and representations (download). With Roger K. W. Hui.
 * APL92: Compiler tools in APL (pdf). With Gert Osterburg.
 * APL93: Array morphology (pdf).
 * APL93: The role of APL and J in high-performance computation (pdf).
 * APL95: The role of dynamic programming & control structures in performance (pdf).
 * APL98: EGREGION: a branch coverage tool for APL (pdf).
 * APL98: Reducing computational complexity with array predicates (pdf).
 * APL03: An SPMD/SIMD parallel tokenizer for APL.
 * APL03: Bitslice: representation without taxation. With Peter Wooster.
 * APL2010: Mask and Mesh Revisited.

Other papers

 * QuadAV Considered Harmful — Still. Quote Quad, vol.21, no.1, 1990-09.
 * Compiler tools in APL. ACM SIGPLAN Notices, Volume 13, No. 4, 1991-02.
 * APEX: The APL Parallel Executor. UToronto Master's thesis. 1997.
 * An Overview of the APEX Compiler.
 * Shape Cliques. 2007-10-18.

Dyalog user meetings

 * Dyalog '09 30: Amazing Performance Looms (materials)
 * Dyalog '11 G10: Index Vector Scalarization in High-Performance Array Computation (materials)
 * Dyalog '12 U28: The Three Beaars: Basically, Every Array Allocation Reduces Speed (materials)
 * Dyalog '15 U10: Abstract Expressionism for Parallel Performance (slides, paper)
 * Dyalog '16 U08: A Compendium of SIMD Boolean Array Algorithms in APL (slides, handouts)
 * Dyalog '16 L03: Zoo Story: How the I.P. Sharp APL Development Group Got its Name (slides)