Cameron Swords
PL Ph.D. Student at Indiana University

CV: See Below
Email: cswords [at]
Github: cgswords
Microblog: @cameronswords

Current Projects

Effectful and General Contracts with Amr Sabry and Sam Tobin-Hochstadt.
I am working with Amr Sabry to explore the interactions of software contracts with stateful and effectful computations. We are working toward unifying these behaviors and producing a cleaner, more expansive contract system in the process.


An Extended Account of Contract Monitoring Strategies as Patterns of Communication.
Cameron Swords, Amr Sabry, and Sam Tobin-Hochstadt.
Journal of Functional Programming, 2018.
[ To Appear ] Big Types in Little Runtime: Open World Soundness and Collaborative Blame for Gradual Type System.
Michael M. Vitousek, Cameron Swords, Jeremy G. Siek.
Symposium on Principles of Programming Languages, 2017.
[ To Appear | Artifact ]

Two Advances in the Implementations of Extended Syllogistic Logics.
Jason Hemann, Cameron Swords, and Lawrence Moss.
Workshop on Natural Language Processing and Automated Reasoning, 2015.
[ PDF | Code ]

Expressing Contract Monitors as Patterns of Communication.
Cameron Swords, Amr Sabry, and Sam Tobin-Hochstadt.
International Conference on Functional Programming, 2015.
[ PDF | Code ]

rKanren: Guided Search in miniKanren.
Cameron Swords and Daniel P. Friedman.
Scheme and Functional Programming Workshop, 2013.
[ PDF | Code ]

Extensible Effects.
Oleg Kiselyov, Amr Sabry, and Cameron Swords.
Haskell Symposium, 2013.
[ PDF | Code ]

Lock-Graph: A Tree-Based Locking Method for Parallel Collision Handling with Diverse Particle Populations.
Mark Lewis and Cameron Swords.
Parallel and Distributed Processing Techniques and Applications, 2011.
[ PDF ]

Technical Reports and Drafts

Monads a la Mode.
Cameron Swords, Daniel P. Friedman.
Draft, Spring 2012.

Service & Activities

External Reviewer
PEPM 2014, COMLAN 2016

External Subreviewer
ICFP 2016, POPL 2017

PL Wonks, the PL research group at Indiana University (2013-2017).

Odds and Ends

Tannenbaum, a PLT-Games Turing Tarpit Language
[ Code ]

Parenthepress, Scheme + Perl Static Blogging Engine
[ Code ]

racket-rrb, a relaxed radix balance tree implementation for Racket
[ Code ]