This file is a list of the people responsible for ensuring that patches for a
particular part of Swift are reviewed, either by themself or by someone else.
They are also the gatekeepers for their part of Swift, with the final word on
what goes in or not.

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: David Abrahams
E: dabrahams@apple.com
D: Swift standard library

N: David Farler
E: dfarler@apple.com
D: Markup, Swift Linux port

N: Doug Gregor
E: dgregor@apple.com
D: AST, Basic, Parse, Sema

N: Joe Groff
E: jgroff@apple.com
D: SIL, SILGen

N: Argyrios Kyrzidis
E: kyrtzidis@apple.com
D: IDE, SourceKit, swift-ide-test

N: Chris Lattner
E: clattner@apple.com
D: Everything in Swift not covered by someone else

N: John McCall
E: rjmccall@apple.com
D: Demangler, IRGen, Runtime

N: Joe Pamer
E: jpamer@apple.com
D: Expression type checker (Sema/ConstraintSystem)

N: Jordan Rose
E: jordan_rose@apple.com
D: ClangImporter, Serialization, (Objective-)C printer, Driver

N: Nadav Rotem
E: nrotem@apple.com
D: SILOptimizer

N: Anna Zaks
E: ganna@apple.com
D: SIL diagnostics passes
