Victoria BC, CA

Chris Penner

Elite
@ChrisPenner

Writing software to improve the experience of writing software. Author of Optics By Example

rasa. Extremely modular text editor built in Haskell

625

slick. Static site generator built on Shake configured in Haskell

221

void-space. Well-Typed Typing Tutor where you Type Types... in space... yup, you heard me

145

wc. Beating unix `wc` in Haskell

137

lens-regex-pcre. Text lenses using PCRE regexes

129

SitePipe. Yet another static site generator - non-opinionated, value-level. Less magic == easier to understand

118

eve. An extensible event-driven application framework in haskell

111

comonads-by-example. Comonads By Example Conference talk

91

Firefly. Simple Haskell http framework

87

astar-monad. A smart A* search monad transformer which supports backtracking user-state!

82

json-to-haskell. In goes JSON, out comes a complete Haskell model complete with instances! CLI and web interface available.

80

jet. A structural editor for JSON values

77

Advent-Of-Code-Polyglot. Examples of "Advent Of Code" solutions in many programming languages.

71

mad-props. Forward-propagating Constraint Solver monad. Good for solving Sudoku, N-Queens, etc.

67

lens-csv. Lensy interface for parsing CSV's

43

LumberJack. A terminal-ui log watcher written in Go using the Flux architecture

39

conway. Conway's game of life in 100 lines or less!

35

copy-pasta. Shell

33

tempered. Templating engine based on shell interpolation

32

session-sauce. Shell plugin for managing tmux sessions

32

unipatterns. Helpers which allow safe partial pattern matching in lambdas

31

slick-template. A template for quickly building sites with slick

29

dumbwaiter. Extensible HTTP Web server configured entirely by a yaml file

25

grids. Arbitrary dimension type-safe grids

24

haskell-stack-travis-ci. Dead simple setup tools for running a Haskell build matrix using stack for several versions.

23

lens-filesystem. Lens interface for your filesystem

22

selections. Haskell Package for operating with selections over an underlying functor

22

btt-quicknav. HTML overlay for quickly navigating your computer

21

lens-errors. Handling errors which occur deep inside lens-chains

17

catalyst. There are many category theory implementations, but this one is mine

16

wave-function-collapse. Wave function collapse procedural generation for arbitrary graphs

15

Type-Tac-Toe. Type-safe tic-tac-toe using Typesafe programming in Haskell

15

proton. Haskell Profunctor Optics experiments

15

recursive-zipper. Zippers for cofree types

14

update-monad. An implementation of the Update Monad and a 'Free' version from https://danelahman.github.io/papers/types13postproc.pdf

13

climbing-fp-ladder. A record of examples and anecdotes as I ascend the ladder of Functional Programming

12

Candor. A toy Parser+Compiler+Typechecker

12

trek. Haskell

10

charter. Haskell charting library

10

dont-argue. Dead-simple command line arguments for python scripts.

9

vimprove. A series of daily tasks/info to learn vim from beginner to expert one day at a time.

9

react-tui. Haskell

9

advent-of-code-haskell. Advent of Code Solutions in Haskell

7

BoxKite. A very simple blog framework that emphasizes managing posts in a plain-text directory structure. Runs on Google App Engine, but can also be exported as a static site.

7

flux-monoid. A monoid which counts changing values in a sequence

6

ffs. A Fuse-compatible Functional File System with @isovector

6

brick-filetree. A brick widget for exploring your filetree

6

json-to-haskell-web. Haskell

5

lens-friends. Just some lens combinator experiments :)

5

jaunt. a jq clone in purescript

5

rust-advent-of-code. Rust

4

monad-suspend. Experimental Cost-Annotated Self-Yielding Coroutines

4

haskell-library-template. Template for Haskell libraries

4

reactive-streams. Reactive stream combinators in Haskell! Implementations of Rx primitives based on the 'machines' library

4

professor. An experimental http server written entirely with profunctors

4

recursion-schemes-by-example. JavaScript

4

game-genre-per-day. Weird and whimsical video game genres everyday!

3

dual-free. Library for combined free & cofree trees into a single type.

2
58
Apply