News for hackers. Stuff that matters.
Re:All Programming Languages are Wrong (2018) by mrgriffin on Wednesday February 12, 2020 @12:44PM (#22310865)
I'd probably think of Bool as being isomorphic to Maybe (), which would mean your map implementation looks a bit like:

    map :: Bool -> (() -> b) -> Maybe b
    map True f = Just (f ())
    map False _ = Nothing
Or, in Haskell because you've got laziness you could go with:

    map :: Bool -> b -> Maybe b
Which already exists as a combination of Control.Monad.guard and Data.Functor.(<$).

    map tf b = b <$ guard tf

There are no comments on this comment yet.