• Category Theory

  • split hard problems into several simple ones
  • make the code reusable
  • simplify reasoning about the code
  • modular, simple, composable. it's the only way to build fast, correct and maintainable software

    modular means that we build software as a collection of independently useful and reusable parts. we ruthlessly refactor each part to keep it focused on a single purpose, making it simple

    we deliver software fast by thinking about composability left right and centre, connecting parts together from whichever direction, like train wagons. composability lets us express arbitrarily complex behaviours with less code

    functional, typed, immutable. these are the key technologies for composable software

    we build parts as functions, because functions compose where objects do not

    we use types to describe functions, because one type is worth a thousand comments

    we keep data immutable, because immutability lets us focus on the business logic holistically without getting bogged down by hundreds of corner cases

  • haskell
  • maybe-программирование
  • either-программирование
  • error-программирование
  • functor-программирование
  • arrow-программирование
  • легкая прогулка
  • elm

  • ocaml

  • erlang
  • elixir
  • boss
  • couchDB
  • cowboy
  • yaws