Hi, I'm Ashley, a software developer living in Seattle.
I want to improve the way people think, through software and mathematics, and especially the programming language concept of type. Pinafore is my main effort in this area.
- Information representation and user interface, with an eye towards composability
- Programming languages: Haskell, functional programming, type systems, Algebraic Subtyping, declarative languages, theorem-proving languages
- Decentralization and permissionlessness: identity, interaction, transaction
-
Pinafore, a language for structuring and storing information, and creating GTK user interfaces for it. It's currently the most sophisticated implementation of the type system Algebraic Subtyping.
-
NixVirt, a Nix flake that lets you declare virtual machines and associated objects via libvirt.
-
time, the core Haskell library for dates and times.
-
monadology, a collection of the best ideas in monad-related types and classes. (overview)
-
witness, support for a wide variety of types of values that witness constraints on type variables.
-
open-witness, witnesses that can be declared statically or generated dynamically.
-
countable, classes for Countable, Searchable, Finite, Empty types.
-
type-rig, classes for the rig (sums and products) of types.
-
primitive-serial, serialisation of primitive types.
-
diagrams-gi-cairo, a port of diagrams-cairo to haskell-gi.