Talks
Talks
This an incomplete list of talks (and slides) that I have given, some with
added notes. They are organised by topic rather than chronology.
Communicating Haskell Processes (CHP) library
- Communicating Haskell
Processes (Research Group, June 2008, with notes). This is a research
group talk on some aspects of my Haskell concurrency library. It's not the
best introduction to the library, but it does explain some of the underlying
details.
- Communicating Haskell
Processes (AngloHaskell 2008, August 2008, with notes). This talk serves
as an introduction to the programming model/methodology underlying the
library.
- Communicating Haskell Processes
(CPA 2008, September 2008). This talk focuses on the Haskell features
(and new CHP features) that could be of interest to other concurrent
programmers.
- Generating CSP Models for
Communicating Haskell Processes (AngloHaskell 2009, August 2009). This
talk tries to explain how I generate CSP models from CHP programs (the
subject of my AVoCS 2009 paper).
-
- Communicating Haskell Processes: Boids
(CoSMoS project meeting, October 2009). A talk explaining how to
implement a boids simulation in CHP.
- Communicating Haskell
Processes (Galois, March 2010, with notes). A more up-to-date general
overview of the CHP library, including most of the latest features (as of
early 2011).
Conjunction
- How to Make
Your Process Invisible, a.k.a. The Dialing Philosophers (CPA 2008, September 2008,
with notes). A talk that made more sense if you were there,
explaining how conjunction can be used to seamlessly interject a
process between two others without breaking the synchronisation.
- Conjunctive Choice
(CoSMoS project meeting, October 2008). A short talk using an
example of movement rules for "sticky" platelets (taken literally in
the slides) to show how conjunction can be used.
- Implementing Choice
Using Transactional Memory (MM-NET Workshop, October 2008, with
notes). A talk using an example of agent movement to explain
disjunctive and conjunctive choice, and then going on to give an
overview of how this is implemented using Transactional
Memory.
- Conjoined Events (AMP 2010, June
2010, with notes). Roughly similar to the previous talks, bundling
all the content together to try to give a good overview of conjunction.
Tock
- Tock: Every compilation
begins with a single pass (Research Group, November 2007); the first of
two talks on the Tock compiler given at the end of 2007 with Adam Sampson.
This one focuses on nanopass compilation in Haskell, our use of generics in
Tock and work on implementing extensible pattern-matching using generics. We
have now solved the issue mentioned with generics and parametric types on
slide 15.
- Tock: A nanopass
presentation (Research Group, December 2007); the second of the two talks
on the Tock compiler given at the end of 2007 with Adam Sampson. Discusses
compiling occam, our Parsec-based parser, work using generics to navigate and
modify tree structures, our backend code-generation using function tables (and
how we test them) and some reflections on using Haskell.
- Tock: Beginning With Omega
(Research Group, January 2008, with notes). A presentation I gave to
explain the Omega Test, a technique for solving linear equations (used here to
check for array index disjointness in occam). The Omega Test is not my work,
but hopefully these slides does a decent job of explaining it, and also
discusses how to transform program code into equations to feed into the Omega
Test.
Other
This page copyright Neil Brown, 2006-2011.