Blog Posts & Events
-
IOSim and Partial Order Reduction
Published 24 II 2023A presentation I did at the Monadic Warsaw meetup.- presentation
- IOSim on Hackage
- YouTube (will be available in the future)
-
Russian Involvement in Partitions of XVIIIth Century Poland
Published 16 XII 2022A blog post on Russian invovement in Partitions of Poland in XVIIIth century. A lesson which is quite relevant to current geopolitical situation. -
Build haddock documentation of a cabal project
Published 12 VI 2022A newcabal haddock-project
command which allows to build documentation of a cabal project in a standalone directory. -
A remark on Lazy ST and MonadFix instance for IOSim
Published 12 III 2022A remark on laziness of lazyST
monad, and its application to aMonadFix
instance of IOSim. -
Typed Protocol Pipelining @ Haskell Love
Published 3 X 2021Slides of my talk at Haskell Love about protocol pipelining in a session type framework used at IOHK. -
Strictness of foldr' from containers
Published 25 VII 2021A simple introduction to Haskell evaluation based on an accepted pull request to containers package. -
Pipelining in Typed Protocols
Published 5 VI 2021Typed protocols is a session type framework used by IOHK. It provides protocol pipelining primitives. In this posts we show how to advance the implementation of pipelining. Apart from Haskell implementation explained the post, there is also an alternative agda implementation available.
-
Haddock: better support for multiple components
Published 17 IV 2021 -
Masking asynchronous exceptions
Published 14 II 2021Interruptible operations in Haskell and masking asynchronous exceptions.
-
Ghc Tags Plugin
Published 7 III 2020Generating vim tags file using a GHC plugin.
-
Monoidal and applicative functors
Published 1 III 2019In this post we explore the equivalence between monoidal and applicative functors. Monoidal functors in Hask are functors which preserve the product (in some relaxed way), while applicative functors are ones that preserve application of lambdas. Monoidal functors have much more con incise laws, but at the end it turned out that the applicative formulation was very successful.
-
Why Monadic IO?
Published 8 II 2019In this post we will discover that the imperative programming style leads to monoidal IO, while using recursive style, which is more natural for functional programming, leads to monadic IO.
-
Categories with Monadic Effects and State Machines
Published 1 II 2019In this post we will discover and describe categories which admits monadic effects, we will build a free object of this type and show how to use it to build a typed safe state machine that was presented by Edwin Brady.
-
Kleisli categories and free monads
Published 20 XII 2018In this short post we explore the interplay of free monads and Kleisli categories.
-
Typed transitions, finite state machines and free categories
Published 25 VIII 2018In this post I model finite state machines using free categories; you will also get a gentle introduction to Kleisli categories, folds on free categories and finally tagless style. Based on a simple example of an FSM by Oscar Wickström.
-
Monadicity
from algebras to monads and back to algebrasPublished 9 VIII 2018Introduction to the monadicity theory based on free-algebras Haskell package.
-
Free algebras
haddock documentationLink to
free-algebra
package on hackage. -
Composing cofree interpreters
Published: 30 VIII 2018My talk at Monadic Warsaw Haskell meetup on PureScript type system and composition of cofree comonads.
-
From free algebras to free monads
Published 30 VII 2018The post was re-published on iohk blog.
Introduction to Universal Algebra, a mathematical discipline that is hidden under many constructions in Haskell ecosystem. It is more concrete than Category Theory, and hence often easier to understand. It is also a very useful source of examples in Category Theory.
-
Workshop on Category Theory
Published: 12 VI 2018Workshop I gave at Monadic Party. Unfortunately, first 30 minutes of the recording was lost...
-
Routing with cofree comonad
Published: 14 X 2017My talk at PureScript Conf 2017 (a satellite event of Lambda Conf 2017) about routing frontend applications using cofree comonad and modelling DOM with
Cofree []
. -
Peano Algebras in Haskell
Published: 2017Fun with Peano axioms in Haskell.