Post-Functional ReprogrammerGhost Locomotion
I am a programming languages researcher and compiler engineer. Most of my work has been in the fields of type theory, stream fusion and parallel programming. Until recently I worked at Digital Asset in smart contract languages, and am an an adjunct at the University of New South Wales.
Talks I've Given
-
Types (are / want to be) Calling Conventions
Featuring Ben Lippmeier
Functions in the lambda calculus rightly take single values as their arguments, and return single values as their results. Functions in machine code rightly take multiple values as their arguments (preferably in registers), and return multiple values (preferably in registers) as their results....
concept -
Data Parallel Data Flow
Featuring Ben Lippmeier
Repa Flow is a library for data parallel data flow programming in Haskell. A flow is a bundle of independent streams, and the library provides operators such as map, fold and filter that apply to all streams in a bundle. Data parallelism is introduced by evaluating each stream in a separate...
algorithm -
Practical Parallel Array Fusion with Repa
Featuring Ben Lippmeier
Array fusion is an approach to writing numerical code that allows the program to be written in terms of high-level bulk array combinators (map, fold, filter etc) but then compiled down to efficient object code. If done correctly, the resulting code can run as fast as hand written loops expressed...
technique