Read my blog
If you want to hire me
Very old posts
lens over tea
A series of articles (called “lens over tea”) about lens and its implementation.
part 1 – lenses 101, traversals 101, a bit of implementation details (also lens operators, functor composition,
Identity, difference lists, monoids of endomorphisms under composition, default signatures for class methods, equality constraints, and irrefutable patterns).
part 2 – composition, laws, getters/actions/setters (also history of lenses, categories, the way to write lenses which would compose “normally”, some links to
part 3 – folds (also
Apply, a nice trick for combining folds, and
part 4 – isomorphisms, some profunctors, lens families (also
Proxy, a bit about pure profunctor lenses, existential types, algebra of types, and a cat video).
part 5 – prisms (also a recap of isomorphisms with diagrams, a bit about affine traversals,
part 6 – Template Haskell, aka “write your own
It’s a work in progress; the future parts will mention:
- indexed things
Mafic, traversal stuff like
- benchmarks (
fst? how much does
- vertical composition, link
- pure profunctor lenses and traversals, link 1, link 2, link 3, link 4, symmetric lenses (
(g a -> f b) -> g s -> f t), link
Other Haskell stuff
Stuff that is sort of related to psychology
Stuff that is sort of related to linguistics
Several years ago I’ve been learning Racket and making notes (which then became somewhat popular):
Introduction. First three days, no prior knowledge, getting a feel for the syntax… You get the idea.
Macros, Macros and a Bit of Modules. Another three days. Mostly macros, as you could’ve guessed.
- list of topics to cover. Gray because it can’t be finished almost by definition.