Read my blog
Most of my posts are here now: blog.artyom.me. There is also an email newsletter: https://getrevue.co/profile/artyom.
If you want to hire me
The best way to hire me is by hiring Monadfix services. I’m also open to other opportunities – I would love to try my hand at sales, marketing, and product development. Here is my LinkedIn profile.
Very old posts
Click here
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,
Const
,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
Reader
/Writer
/State
learning materials,Void
).part 3 – folds (also
Foldable
,Apply
, a nice trick for combining folds, andFold1
).part 4 – isomorphisms, some profunctors, lens families (also
Forget
,Tagged
,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,
Pointed
, andcoerce
).part 6 – Template Haskell, aka “write your own
makeLenses
”
It’s a work in progress; the future parts will mention:
- indexed things
Bazaar
/Magma
/Molten
/Mafic
, traversal stuff likepartsOf
,taking
fusing
andconfusing
- benchmarks (
view _1
vsfst
? how much doesfusing
help? etc) - vertical composition, link
ala
,AlongsideLeft
upon
, 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 Control.Lens.Plated
,Control.Lens.Level
,Control.Lens.Zoom
Other Haskell stuff
Stuff that is sort of related to psychology
Stuff that is sort of related to linguistics
Racket
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.