From 495f9db0606b0ed09e6fac59dc32de4cdc8c0087 Mon Sep 17 00:00:00 2001 From: Thomas Letan Date: Sun, 28 Mar 2021 00:03:41 +0100 Subject: 2021 Spring redesign --- site/opinions/MonadTransformers.org | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) (limited to 'site/opinions/MonadTransformers.org') diff --git a/site/opinions/MonadTransformers.org b/site/opinions/MonadTransformers.org index 7296f08..0424c7b 100644 --- a/site/opinions/MonadTransformers.org +++ b/site/opinions/MonadTransformers.org @@ -1,12 +1,12 @@ -#+BEGIN_EXPORT html -

Monad Transformers are a Great Abstraction

+#+TITLE: Monad Transformers are a Great Abstraction + +#+SERIES: ../opinions/index.html +#+BEGIN_EXPORT html

This article has originally been published on July 15, 2017.

#+END_EXPORT -#+OPTIONS: toc:nil - #+BEGIN_EXPORT html
site/opinions/MonadTransformers.org
#+END_EXPORT @@ -14,8 +14,8 @@ id="original-created-at">July 15, 2017.

Monads are hard to get right. I think it took me around a year of Haskelling to feel like I understood them. The reason is, to my opinion, there is not such thing as /the/ Monad. It is even the contrary. When someone asks me how I would -define Monads in only a few words, [[https://techn.ical.ist/@lthms/590439][I say Monad is a convenient formalism to -chain specific computations]]. Once I’ve got that, I started noticing “monadic +define Monads in only a few words, I say monads are a convenient formalism to +chain specific computations. Once I’ve got that, I started noticing “monadic construction” everywhere, from the Rust ~?~ operator to the [[https://blog.drewolson.org/elixirs-secret-weapon/][Elixir ~with~ keyword]]. @@ -46,7 +46,6 @@ issue with the Monad Transformers. #+BEGIN_SRC diff -type Builder = StateT Text IO +type Builder = StateT Text (ReaderT Language IO) - #+END_SRC As you may have already understood, I wasn't using the “raw” ~State~ Monad, but -- cgit v1.2.3