Spiros Eliopoulos

Blog Posts

A Logical Interpretation of the CAP Theorem Jul 09, 2015

MVC in a Reactive World Jul 20, 2014

Bitcoin Deflation and Economic Activity Nov 27, 2013

Random Code, Permutations, and unsafePerformIO Jul 20, 2013

The Many Ways to Draw Rectangles in SVG Feb 13, 2013

Bounded Panning in D3 Jan 21, 2013

ifs and &&s and Plan 9's Source Code Dec 03, 2012

Projects

http/af
A high-performance, memory-efficient, and scalable web server.

Angstrom
Parser combinators built for speed and memory-efficiency.

Faraday
A library for writing efficient serializers.

ocaml-d3
OCaml bindings for D3.

ocaml-webmachine
A REST toolkit for OCaml.

ocaml-tdk
Data structures for representing functions, relations, and other combinatorial objects.

Frenetic
A language and controller platform for software-defined networking.

elm-d3
Elm bindings for D3.

Typo
A programming language that runs in Haskell's type system.

d3-transform
A D3 plugin for working with SVG transform strings.

d3-filters
A D3 plugin for working with SVG filter effects.

thrift
A multi-language remote procedure call framework. (Ruby and Haskell contributor.)

Publications

Concurrent Systems Programming with Effect Handlers
TFP 2017

A Fast Compiler for NetKAT
ICFP 2015

ADSafety: Type-Based Verification of JavaScript Sandboxing
USENIX Security 2011