RangeError: Maximum call stack size exceeded when decoding a long list

The problem is in this file:

This file describes the generic model description used in the debugger. It turns your statically typed model into a “dynamically typed” Expando, which is the data structure used to render the model on the right side (including open/closed states).

Because it needs to do the Cons (::) after it calls mergeListHelp, this call is not tail-recursive. It’s esentially a map iterating 2 lists at once, which itself is essentially a right fold. Except that unlike List.map and List.foldr, this function does not include special handling of deep recursive structures.

Because the Debugger is only loaded when enabled (duh!), it works without it.

PS: The Elm Debugger is just another (special) Elm App. I think that’s pretty awesome!

2 Likes