Consider:
type Nat
    = Zero
    | Succ Nat

nat : Int -> Nat
nat n =
    nat_ n Zero


nat_ : Int -> Nat -> Nat
nat_ n curr =
    if n <= 0 then
        curr
    else
        nat_ (n - 1) (Succ curr)

Using tail recursion, this should be stack safe in Elm (as far as I 
understand). But I get a stack overflow for large values of n (>= 5000). Is 
my function really tail recursive, or might there be a bug in Elm?

-- 
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 elm-discuss+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to