Skip to content

Instantly share code, notes, and snippets.

=================================================================================================
| Mapping functions |
=================================================================================================
------------------------
| One mapping function |
------------------------
class Functor f where
map :: ∀ a b. (a -> b) -> f a -> f b (Covariant)
module Ch15 where
import Prelude
import Data.Int (even, odd)
import Data.Foldable (class Foldable, foldl)
import Data.List (List(..), (:))
import Data.String (length)
import Effect (Effect)
import Effect.Console (log)
module Ch17 where
( Age (..)
, FamilyAges(..)
, FamilyAgesRow
, Validation(..)
, Either(..)
, createFamilyAges
, test
) where
module Ch17Parser where
import Prelude
import Data.Either (Either(..))
import Data.Maybe (Maybe(..))
import Data.Tuple (Tuple(..))
import Data.Array as A
import Data.Unfoldable as U
import Data.Traversable (class Traversable, sequence)
import Data.Generic.Rep (class Generic)
@mkohlhaas
mkohlhaas / Readme.md
Created January 16, 2022 05:05
What is the Reader Monad Good For ?
module Ch19 where
import Prelude
import Data.Generic.Rep (class Generic)
import Data.Show.Generic (genericShow)
import Effect (Effect)
import Effect.Console (log)
-----------
-- Maybe --
module Ch19Parser where
import Prelude
import Data.Either (Either(..))
import Data.Maybe (Maybe(..))
import Data.Tuple (Tuple(..))
import Data.Array as A
import Data.Unfoldable as U
import Data.Traversable (class Traversable, sequence)
import Data.Generic.Rep (class Generic)
module Ch19DateParser where
import Prelude
import Control.Alt (class Alt, (<|>))
import Data.Array (cons)
import Data.CodePoint.Unicode (isDecDigit, isAlpha)
import Data.Either (Either(..))
import Data.Generic.Rep (class Generic)
import Data.Int (fromString)
import Data.Maybe (Maybe(..), fromMaybe)
module Ch19SomeManyCombinators where
import Prelude
import Control.Alt (class Alt, (<|>))
import Control.Lazy (class Lazy, defer)
import Data.Array as A
import Data.CodePoint.Unicode (isDecDigit, isAlpha)
import Data.Either (Either(..))
import Data.Generic.Rep (class Generic)
import Data.Maybe (Maybe(..))
module Ch19RWS where
import Prelude
import Data.Tuple (Tuple(..))
import Effect (Effect)
import Effect.Console (log)
-- rewrite Reader, Writer and State data types which are monads for your own reference
-- you might want to comment out the code