This file is a partial list of people who have contributed to the LLVM/pstl
(Parallel STL) project.  If you have contributed a patch or made some other
contribution to LLVM/pstl, please submit a patch to this file to add yourself,
and it will be done!

The list is sorted by surname and formatted to allow easy grepping and
beautification by scripts.  The fields are: name (N), email (E), web-address 
(W), PGP key ID and fingerprint (P), description (D), and snail-mail address
(S).

N: Intel Corporation
W: http://www.intel.com
D: Created the initial implementation.

N: Thomas Rodgers
E: trodgers@redhat.com
D: Identifier name transformation for inclusion in a Standard C++ library.

N: Christopher Nelson
E: nadiasvertex@gmail.com
D: Add support for an OpenMP backend.
