Marshall Lochbaum

Marshall Ward Lochbaum of Raleigh, North Carolina, is a software developer and programming language implementer. He is the designer and implementer of the I|I programming language which generalizes the array and functional capabilities of J to deal with a much broader variety of data structures.

Career
Before joining Dyalog, Lochbaum programmed extensively in J, both as a hobbyist and as a professional at ThomasNet and BEST, llc. He has also contributed to the J interpreter.

At University of North Carolina at Chapel Hill, he earned a Master of Computer Science degree, was distinguished with the highest honours in mathematics as a Bachelor in Mathematics and Computer Science with a minor in Physics, and received the 2013 Alfred T. Brauer and 2014 Archibald Henderson prizes.

From February 2017 until June 2020, he worked as a software developer at Dyalog Ltd., mainly on speeding up the implementation of Dyalog APL, but also contributing to language development. He has achieved significant speed-ups across all parts of the language, implemented new primitives, and designed extensions to existing ones. He was a frequent workshop host and presenter at Dyalog User Meetings and other events.

After leaving Dyalog, Lochbaum has been developing the BQN language.

Notable software projects

 * JSound: J scripts for sound processing and synthesis
 * JtoLaTeX: LaTeX-formatted documents using J evaluation
 * I|I language: a tacit functional programming language inspired by J
 * BQN: a prototype language intended to improve on APL while rectifying its deficiencies. Uses Unicode glyphs, but has a different character set than APL.

Conference presentations

 * Jsoftware Conference 2012: Image processing in J
 * Jsoftware Conference 2014: Using Data as Code
 * Dyalog '17 D08: Moving Bits Faster in Dyalog 16.0 (materials)
 * Dyalog '18 D08: Sub-nanosecond Searches Using Vector Instructions
 * Dyalog '18 D15: The Interpretive Advantage
 * LambdaConf 2019: Outer Product as an Introduction to APL and a Pretty Cool Thing in General (slides)
 * Dyalog '19 D04: Tacit Techniques with Dyalog version 18.0 Operators (slides (zip file))
 * Dyalog '19 D09: Implementing Reduction (slides (zip file))