Ambrose Bonnaire-Sergeant


CS PhD Student
School of Informatics & Computing
Indiana University

Twitter @ambrosebs

Github frenchy64

Blog dissoc


Automatic annotations for Typed Clojure + clojure.spec


New paper ESOP 2016: Practical Optional Types for Clojure (with appendix), with Sam Tobin-Hochstadt and Rowan Davies. (code, talk)

Honours Dissertation: A Practical Optional Type System for Clojure, supervised by Rowan Davies.


Latest work Indiegogo Campaign 2016: Automatic Annotations for Typed Clojure + clojure.spec

Houston Clojure User Group Talk 2015: Communicating between typed/untyped namespaces [Code]

Boston Clojure User Group Talk 2015: Getting started with Typed Clojure + Building a typed contracts framework [Code]

Strangeloop 2015 Talk: Typed Clojure: From Optional to Gradual Typing [Slides]

Indiegogo Campaign 2015: Gradual Typing for Clojure Campaign

CodeMesh 2014 Talk: Typed Clojure in Practice [Slides]

Clojure Toronto User Group Talk 2014: Typed Clojure Demo

Strangeloop 2014 Talk: Typed Clojure in Practice [Slides]

ILC 2014 Invited Talk: Typed Clojure

Philly ETE 2014: What if Type Checkers Were More Like Linters?

Lambda Jam Brisbane 2013 Workshop: core.typed Workshop

Indiegogo Campaign 2013: Typed Clojure Campaign

Illegal Argument Podcast 2013: Recording

Melbourne Functional User Group Talk 2013: Meetup

clj-syd User Group Talk 2013: Meetup

Clojure Conj 2012: Typed Clojure

Clojure Conj 2011: Introduction to Logic Programming

Google Summer of Code (Clojure)

GSoC 2015 Administrator: Clojure

GSoC 2015 Mentor: Akhilesh Srikanth (Typed Transients for Clojure)

GSoC 2015 Mentor: Aravind K N (Typed Clojure Core Annotations)

GSoC 2014 Administrator: Clojure

GSoC 2014 Mentor: Nicola Mometto (tools.analyzer extensions: cljs port, documentation)

GSoC 2014 Mentor: Minori Yamashita (Typed ClojureScript Library Annotations)

GSoC 2014 Mentor: Di Xu (Typed Clojure: Heterogeneous operations & Dotted Polymorphism)

GSoC 2013 Student: core.typed: Extensions and Documentation

GSoC 2012 Student: Typed Clojure (Optional Static Type System)