3,038
edits
No edit summary |
(Move university studies out of lead section) |
||
(19 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
'''Marshall Ward Lochbaum''' of Raleigh, North Carolina, is a software developer and programming language implementer. | [[File:20190910-02-ML.jpg|thumb|right|[[Boolean function|Boolean algorithm]]s at [[Dyalog '19]].]] | ||
'''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 == | == 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. | 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 Meeting]]s and other events. | |||
After leaving Dyalog, Lochbaum has been developing the [[BQN]] language. | |||
== Publications == | == Publications == | ||
=== Notable software projects=== | === Notable software projects=== | ||
* [https://github.com/mlochbaum/JSound JSound]: J scripts for sound processing and synthesis | * [https://github.com/mlochbaum/JSound JSound]: J scripts for sound processing and synthesis | ||
* [https://github.com/mlochbaum/JtoLaTeX JtoLaTeX]: LaTeX-formatted documents using J evaluation | * [https://github.com/mlochbaum/JtoLaTeX 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 [[glyph]]s, but has a different character set than APL. | |||
=== Conference presentations === | === Conference presentations === | ||
* Jsoftware Conference 2012: [https://code.jsoftware.com/wiki/Community/Conference2012/Talks/ImageProcessing Image processing in J] | * Jsoftware Conference 2012: [https://code.jsoftware.com/wiki/Community/Conference2012/Talks/ImageProcessing Image processing in J] | ||
* Jsoftware Conference 2014: Using Data as Code | * Jsoftware Conference 2014: Using Data as Code | ||
* [[Dyalog '17]]: [https://dyalog.tv/Dyalog17/?v=2KnrDmZov4U | * [[Dyalog '17]] D08: [https://dyalog.tv/Dyalog17/?v=2KnrDmZov4U Moving Bits Faster in Dyalog 16.0] ([https://www.dyalog.com/uploads/conference/dyalog17/presentations/D08_Moving_Bits_Faster_in_Dyalog_16.zip materials]) | ||
* [[Dyalog '18]]: [https://dyalog.tv/Dyalog18/?v=paxIkKBzqBU | * [[Dyalog '18]] D08: [https://dyalog.tv/Dyalog18/?v=paxIkKBzqBU Sub-nanosecond Searches Using Vector Instructions] | ||
* [[Dyalog '18]]: [https://dyalog.tv/Dyalog18/?v=-6no6N3i9Tg | * [[Dyalog '18]] D15: [https://dyalog.tv/Dyalog18/?v=-6no6N3i9Tg The Interpretive Advantage] | ||
* LambdaConf 2019: Outer Product as an Introduction to APL and a Pretty Cool Thing in General | * LambdaConf 2019: [https://www.youtube.com/watch?v=WlUHw4hC4OY Outer Product as an Introduction to APL and a Pretty Cool Thing in General] ([https://mlochbaum.github.io/OuterProduct/ slides]) | ||
* [[Dyalog '19]]: [https://dyalog.tv/Dyalog19/?v=czWC4tjwzOQ | * [[Dyalog '19]] D04: [https://dyalog.tv/Dyalog19/?v=czWC4tjwzOQ Tacit Techniques with Dyalog version 18.0 Operators] ([https://www.dyalog.com/uploads/conference/dyalog19/presentations/D04_Tacit_Techniques.zip slides (zip file)]) | ||
* [[Dyalog '19]]: [https://dyalog.tv/Dyalog19/?v=TqmpSP8Knvg | * [[Dyalog '19]] D09: [https://dyalog.tv/Dyalog19/?v=TqmpSP8Knvg Implementing Reduction] ([https://www.dyalog.com/uploads/conference/dyalog19/presentations/D09_Implementing_Reduction.zip slides (zip file)]) | ||
{{APL community}} | |||
{{APL community}}{{DEFAULTSORT:Lochbaum}}[[Category:People]][[Category:Dyalog Ltd. employees]][[Category:Designers]][[Category:Implementers]] |