Software engineer specializing in programming languages and compilers. Contributor to LLVM, Clang, Swift, and the Move programming language. Creator of Quick, the Swift (and Objective-C) testing framework. Former Japanese literature translator.
Guides to Contributing to apple/swift
Getting Started with Swift Compiler Development
The Swift Compiler's Build System
Reading and Understanding the CMake in apple/swift
An Introduction to the Swift Compiler Driver
Reading and Understanding the Swift Driver Source Code
Option Parsing in the Swift Compiler
Getting Started with the Swift Frontend: Lexing & Parsing
How the Swift Compiler Emits Diagnostics, Part 1: LLVM Abstractions
How Swift and Clang Use LLVM to Read Files into Memory
How the Swift Compiler Emits Diagnostics, Part 2: Swift's Wrappers of LLVM Abstractions
Why do I care about swift-stdlib-tool?
swift-llvm and swift-clang
Compiling Swift: What Hardware is Best?
Swift & C: What I Learned Building Swift Bindings to libgit2
Swift on Android
Porting the Swift Runtime to Android, Part One: The How
Swift on Android, Part Two: What Now?
A Humble Proposal for swift-corelibs-xctest
SenTestingKit: How Does it Even?
XCTest: The Good Parts
Quick 1.0: Better Tests for All
Code Reading: Shared Examples in Kiwi
Nuclide as a Swift IDE
Contributing to Nuclide’s Swift Integration: Why and How
My Hackathon Camp Project: Building a Swift IDE
Using Nuclide as an IDE for Swift Compiler Development
Paying Down Technical Knowledge Debt
CLANG WARN NULLABLE TO NONNULL CONVERSION
Diffing APIs with class-dump
RESTful Go: An API Server with 90%+ Test Coverage in 260 Lines of Code
Continuous Integration in Go: Ginkgo & Coveralls
Code Reading: Message Stubbing in RSpec
Code Reading: Expectations in RSpec 3.0
Code Reading: RSpec Output Formatting
Exploring Shared Examples in RSpec and Kiwi
Code Reading: Shared Examples in RSpec
Hands-On: Shared Examples in RSpec