An open API service aggregating public data about GitHub Sponsors.

faiface

View JSON Representation

Infinity is smaller than 380012893427665492.

Funding Links: https://github.com/sponsors/faiface

GitHub Sponsors Profile

I'm a programmer who likes to read a lot of papers and is trying to bring type-safe concurrent programming from research to practice.
Concurrency is hard! Even without any race conditions, concurrent programs easily suffer from bugs: unexpected messages, forgotten obligations, deadlocks. Concurrent structures - communication protocols - are mostly in the minds of programmers, and informal documentations. Type systems (even if potentially capable of it) are not sufficiently used to make sure concurrent programs are sound.
However, academic literature is full of papers on session types, linear logic, and other topics which, if applied, can make those a thing of the past, including deadlocks. Unfortunately, most results of this decades long research have not made it into practice. But it's understandable.
It's difficult to figure out how to apply them. Think how long it took from Tony Hoare's famous "billion dollar mistake" words to actually seeing languages without null pointers in mainstream. And that's just null pointers.
What I am trying to do is combine my understanding of the research with clever design ideas to create libraries, tools, educational materials, and possibly programming languages to put the theory to real-world use. My first step on this path is my par crate for Rust, implementing session types based on linear logic.
If you feel like this is a goal worth pursuing, consider joining, or sponsoring! It really does help.

Featured Works

faiface/par

⅋ — session types for Rust

Language: Rust - Stars: 191
faiface/pixel

A hand-crafted 2D game library in Go

Language: Go - Stars: 4500
faiface/beep

A little package that brings sound to any Go application. Suitable for playback and audio-processing.

Language: Go - Stars: 2147
faiface/generics

A proof-of-concept implementation of my generics proposal for Go

Language: Go - Stars: 97
Active Sponsors
Past Sponsors
Sponsor Breakdown