I think for integer division, it has to return 0 because infinity is
expressed as a float. I'm going to agree with Erkal, though, you definitely
don't want to wrap all your math statements in a maybe or result type, that
would make most code considerably more verbose.

On Sat, Feb 18, 2017 at 5:38 PM, 'Rupert Smith' via Elm Discuss <
[email protected]> wrote:

> On Saturday, February 18, 2017 at 9:53:49 PM UTC, Erkal Selman wrote:
>>
>> Why didn't you try it?
>> Try it!
>> Yes, it returns Infinity.
>> Would you that error handling for every other operation, like for example
>> the squareroot of negative numbers, or the logarithm of zero? I don't think
>> that this is a good idea for a language like elm.
>>
>
> With elm-repl:
>
> > type alias T = { val : Int }
> > t = T 4
> { val = 4 } : Repl.T
> > x = t.val / 0
> -- TYPE MISMATCH ---------------------------------------------
> repl-temp-000.elm
>
> The left argument of (/) is causing a type mismatch.
>
> 8|     t.val / 0
>        ^^^^^
> (/) is expecting the left argument to be a:
>
>     Float
>
> But the left argument is:
>
>     Int
>
> Hint: Elm does not automatically convert between Ints and Floats. Use
> `toFloat`
> and `round` to do specific conversions.
> <http://package.elm-lang.org/packages/elm-lang/core/latest/Basics#toFloat>
>
> Hint: The (/) operator is specifically for floating point division, and
> (//) is
> for integer division. You may need to do some conversions between ints and
> floats to get both arguments matching the division operator you want.
>
>
> > x = t.val // 0
> 0 : Int
> >
>
> So for integer division by zero, it simply returns zero!
>
> --
> You received this message because you are subscribed to the Google Groups
> "Elm Discuss" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups "Elm 
Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to