Consider the following simple code example,
module Main where
import Prelude (discard, Unit, ($))
import Effect (Effect)
import Effect.Console (log)
import Data.Int ( toStringAs, fromNumber, decimal )
import Data.Maybe ( fromMaybe )
myNumber :: Number
myNumber = 4.762
myInteger :: Int
myInteger = fromMaybe 0 (fromNumber myNumber)
main ∷ Effect Unit
main = do
log ( toStringAs decimal myInteger )
The expected value would be
4
However, the output of this code is
0
Question: Why does fromMaybe return 0 instead of the maybe value (4) ?