Jay Foad: Difference between revisions

Jump to navigation Jump to search
No change in size ,  15:24, 22 November 2019
m
(Created page with "'''Jay Foad''' is a software developer and programming language implementor. He worked at Dyalog Ltd. from April 2010 to May 2019 on the implementation of Dyalog APL,...")
 
Line 11: Line 11:
== Contributions ==
== Contributions ==


Foad's bytecode compiler (invoked with <source lang=apl inline>400⌶</source>) for Dyalog was included in [[Dyalog APL 14.0|version 14.0]] and on, although work on the compiler almost entirely stopped by [[Dyalog APL 17.0|version 17.0]]. On leaving Dyalog Foad remarked that he no longer thought his purely compiled approach was the best method for APL, and expressed enthusiasm for hybrid interpreter-compiler techniques.<ref name="goodbye"></ref> He also did significant work on Dyalog's interpreter, in particular optimising [[Maximum]], [[Minimum]], and [[Plus]] [[Reduce|reductions]] using [[vector instruction]]s on x86 and POWER platforms. He also developed a technique for transposing [[Boolean]] matrices with multiple-of-8 dimensions, which was later extended to arbitrary dimensions by [[Marshall Lochbaum]] with help from Foad.<ref>Lochbaum, Marshall. [https://dyalog.tv/Dyalog17/?v=2KnrDmZov4U "Moving Bits Faster in Dyalog 16.0"].</ref>
Foad's bytecode compiler (invoked with <source lang=apl inline>400⌶</source>) for Dyalog was included in [[Dyalog APL 14.0|version 14.0]] and on, although work on the compiler almost entirely stopped by [[Dyalog APL 17.0|version 17.0]]. On leaving Dyalog Foad remarked that he no longer thought his purely compiled approach was the best method for APL, and expressed enthusiasm for hybrid interpreter-compiler techniques.<ref name="goodbye"></ref> He also did significant work on Dyalog's interpreter, in particular optimising [[Maximum]], [[Minimum]], and [[Plus]] [[Reduce|reductions]] using [[vector instructions]] on x86 and POWER platforms. He also developed a technique for transposing [[Boolean]] matrices with multiple-of-8 dimensions, which was later extended to arbitrary dimensions by [[Marshall Lochbaum]] with help from Foad.<ref>Lochbaum, Marshall. [https://dyalog.tv/Dyalog17/?v=2KnrDmZov4U "Moving Bits Faster in Dyalog 16.0"].</ref>


Foad was involved in designing several extensions to Dyalog primitives, including high-rank [[Unique]] in [[Dyalog APL 17.0]] and the decision to allow duplicate left argument cells in [[Interval Index]] in [[Dyalog APL 17.1|17.1]].
Foad was involved in designing several extensions to Dyalog primitives, including high-rank [[Unique]] in [[Dyalog APL 17.0]] and the decision to allow duplicate left argument cells in [[Interval Index]] in [[Dyalog APL 17.1|17.1]].

Navigation menu