Edsko has been using Haskell for nearly 20 years, and has been a professional Haskell consultant with Well-Typed for roughly half that time. He holds a PhD in advanced (substructural) type systems for pure functional languages from Trinity College, Dublin.
As a Well-Typed consultant, he has provided training across the world, from Johannesburg to Boston to Singapore. He has worked on a large variety of projects, both open source as well as closed source for specific clients. Some of the open source projects he has contributed to are Cloud Haskell, Hackage, the Hackage security library, ghc, Ziria (a DSL developed by Microsoft) and cabal. Some general purpose libraries he has (co)developed include generics-sop, nothunks, recover-rtti and large-records.
The last few years he has worked as a consultant with IOHK on the Cardano blockchain, where he was responsible for the overall architecture of the consensus layer, designed the hard fork combinator, and did research on formal specification of a crypto wallet and invented a novel coin selection algorithm.
Talks I've Given
-
Avoiding Quadratic Blow-up During Compilation
Featuring Edsko de Vries
There are three main sources of of quadratic blow-up in the
haskell quadratic-blow-up ghcghc
core code generated during compilation. This talk takes a close look at all three and how to deal with these problems with current-day GHC. -
Static Pointers, Closures and Polymorphism
Featuring Edsko de Vries
A static pointer can be thought of as the address of symbol in a program. Their primary use lies in the fact that they can always be serialized and hence sent across a network; thus, while we cannot send a Haskell function over a network, we /can/ send a static pointer to that function. This...
haskell haskellx static-pointers distributed-computing cloud-haskell sparkle -
Lazy I/O and Alternatives in Haskell
Featuring Edsko de Vries
Haskell is one of the few programming languages that use lazy evaluation: computations get performed only when their result is demanded. It is however not so straightforward to combine lazy evaluation with side effects, such as reading from a file.
haskell lazy-i/o
My Work
Haskell Consultant
Social and Blogging
@edsko has not provided social links yet.