4,509
edits
m (→Publications) |
mNo edit summary |
||
Line 2: | Line 2: | ||
'''Daniel Baronet''' (6 May 1956–1 Nov 2016), also known as '''APLtrainer''', was an APL (and later [[J]]) programmer since 1976, working for [[I.P. Sharp Associates]] in Melbourne, Toronto, Montreal, and Copenhagen, from 1983 to 1988, and for [[Dyalog Ltd]] from 2006 until his death. | '''Daniel Baronet''' (6 May 1956–1 Nov 2016), also known as '''APLtrainer''', was an APL (and later [[J]]) programmer since 1976, working for [[I.P. Sharp Associates]] in Melbourne, Toronto, Montreal, and Copenhagen, from 1983 to 1988, and for [[Dyalog Ltd]] from 2006 until his death. | ||
Baronet was responsible for Dyalog's ''Simple APL Library Toolkit'' (SALT) and its framework for [[user command]]s (affectionately known as ''spice''), but also worked on many other APL tools through his company Milinta Inc, specialising in the development of free open-source tools to transfer of APL code between dialects.<ref>Rick Procter. [http://www.aplborealis.com/danb2016.html Obituary for Daniel Baronet]. APL Borealis.</ref> He was a prolific writer and presented at many events. | |||
== The "Dan Baronet special" == | == The "Dan Baronet special" == | ||
Line 8: | Line 8: | ||
Baronet was famous for innovative uses of APL primitives. He's credited with discovering that <source lang=APL inline>b⊥b</source> or, as he preferred writing it, <source lang=APL inline>⊥⍨b</source>, counts the number of trailing ones in the Boolean vector <source lang=APL inline>b</source>:<ref>Roger Hui. [http://danielbaronet.rip/ Tribute to Daniel Baronet]. DanielBaronet.RIP</ref> | Baronet was famous for innovative uses of APL primitives. He's credited with discovering that <source lang=APL inline>b⊥b</source> or, as he preferred writing it, <source lang=APL inline>⊥⍨b</source>, counts the number of trailing ones in the Boolean vector <source lang=APL inline>b</source>:<ref>Roger Hui. [http://danielbaronet.rip/ Tribute to Daniel Baronet]. DanielBaronet.RIP</ref> | ||
<source lang=apl inline>⊥</source> ([[Decode]]) performs base conversion. If the left argument is a vector, it performs | <source lang=apl inline>⊥</source> ([[Decode]]) performs base conversion. If the left argument is a vector, it performs ''mixed'' base conversion. | ||
For a base vector <math>b = b_n,\cdots,b_0</math> and a digit vector <math>a = a_n,\cdots, a_0</math>, <source lang=apl inline>b ⊥ a</source> converts <math>a</math> to the mixed base <math>b</math>, i.e., it computes <math>b_0\cdots b_{n-1}a_n + \cdots + b_0b_1a_2 + b_0a_1 + a_0</math>. | For a base vector <math>b = b_n,\cdots,b_0</math> and a digit vector <math>a = a_n,\cdots, a_0</math>, <source lang=apl inline>b ⊥ a</source> converts <math>a</math> to the mixed base <math>b</math>, i.e., it computes <math>b_0\cdots b_{n-1}a_n + \cdots + b_0b_1a_2 + b_0a_1 + a_0</math>. |