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