Publications
Peer-Reviewed Full-Length Publications
- Communicating Haskell
Processes,
N.C.C. Brown,
PhD thesis, University of
Kent, UK, 2011.
- Combinators for Message-Passing in Haskell,
N.C.C. Brown,
Practical Aspects of Declarative Languages
2011,
[BiBTeX]
- Repositories of Teaching Material and Communities of Use: Nifty
Assignments and the Greenroom,
S.A. Fincher, M.I. Kölling,
I.A. Utting, N.C.C. Brown and P.L.C. Stevens,
International Computing
Education Research 2010,
[BiBTeX].
- Conjoined
Events,
N.C.C. Brown,
Advances in Message Passing 2010.
- Alting barriers: synchronisation with choice in Java using
JCSP,
P.H. Welch, N.C.C. Brown, J. Moores, K. Chalmers and
B.H.C. Sputh,
Concurrency and Computation: Practice and Experience, 2010,
[BiBTeX].
- Relating and Visualising CSP, VCR and Structural
Traces,
N.C.C. Brown and M.L. Smith,
Communicating Process Architectures
2009
[BiBTeX].
- Auto-Mobiles: Optimised Message-Passing,
N.C.C. Brown,
Communicating Process Architectures 2009
[BiBTeX].
- Automatically Generating CSP Models for Communicating Haskell
Processes,
N.C.C. Brown,
Automated Verification of Critical
Systems 2009, proceedings published in: Electronic Communications of the EASST,
[BiBTeX].
- Alloy: Fast Generic Transformations for Haskell,
N.C.C. Brown
and A.T. Sampson,
Haskell Symposium 2009
[BiBTeX] [Video].
- Representation and Implementation of CSP and VCR
Traces,
N.C.C. Brown and M.L. Smith,
Communicating Process
Architectures 2008
[BiBTeX].
- Communicating Haskell Processes: Composable Explicit
Concurrency using Monads,
N.C.C. Brown,
Communicating Process
Architectures 2008
[BiBTeX].
- Matching and Modifying with
Generics,
N.C.C. Brown and A. T. Sampson,
Draft
Proceedings of Trends in Functional Programming
2008
[BiBTeX].
- C++CSP2: A Many-to-Many Threading Model for
Multicore Architectures,
N.C.C. Brown,
Communicating
Process Architectures 2007
[BiBTeX].
- Integrating and Extending JCSP,
P.H. Welch, N.C.C. Brown, J. Moores, K. Chalmers and
B.H.C. Sputh,
Communicating Process Architectures
2007
[BiBTeX].
- Rain VM: Portable Concurrency through
Managing Code,
N.C.C. Brown,
Communicating Process
Architectures 2006
[BiBTeX].
- Rain: A New Concurrent Process-Oriented
Programming Language,
N.C.C. Brown,
Communicating
Process Architectures 2006
[BiBTeX].
- C++CSP Networked,
N.C.C. Brown,
Communicating Process Architectures
2004
[BiBTeX].
- An Introduction to the Kent C++CSP
Library,
N.C.C. Brown and P.H. Welch,
Communicating
Process Architectures 2003
[BiBTeX].
Other Writings
- The InterleaveT Abstraction: Alternative with
Flexible Ordering
A long article explaining the InterleaveT
abstraction, with accompanying code release on Hackage as
the interleave
package. This article featured
in The Monad Reader
electronic magazine, issue 17, January 2011.
- Greenroom - A Teacher Community for
Collaborative Resource Development
An extended abstract for
a talk given by a co-author at ITiCSE 2010.
- How to Make a Process Invisible
An
extended abstract for a talk given at CPA 2008 on how to use conjunction and
extended communications to hide the presence of a process.
- A Trip Down Memory Lane in
Haskell
A brief, rejected (and fairly so) paper/experience report
on memory use in Haskell. I think a selection of quotes from the reviewers
covers it (I hope they do not mind me reproducing them here): "One of the
easiest papers on this subject to follow", "The paper provides little in way
of generally applicable insights or advice to programmers faced with the task
of optimising Haskell code", "I will say that I found it interesting reading,
but I'm not sure what lessons/principles/techniques it espouses", "The paper
would make an excellent blog post or Haskell wiki page, and would be a good
introduction for intermediate Haskell programmers to the difficulties of
profiling".
This page copyright Neil Brown, 2006-2011.