Description
Quick Summary: Compilation hangs and an elm process remains active after <ctrl-c>
. Memory usage of this process reaches >16GB (memory available to system) which bogged down my system.
SSCCE
module Main exposing (..)
foldMap : (a -> b) -> (a -> c) -> (b -> c -> c) -> a -> c
foldMap fab fac fbc a = fac a
break : Float -> (Float, Float)
break input = foldMap identity (\x -> (x, x)) (\( low, high ) x -> ( min low x, max high x )) input
- Elm: Elm 0.19.1
- Browser: NA
- Operating System: macOS 11.4
Additional Details
elm make
hangs after printing Compiling ...
. The orphan elm process only continues if waiting for longer than 5-6 seconds before using to cancel the elm make command.
When changing (\( low, high ) x ->
to (\x ( low, high ) ->
the snippet compiles as expected, and changing ( min low x, max high x )
to ( x, x )
results in the compiler error `foldMap` needs the 4th argument to be: ( ∞, ∞ )
.
Came across this writing a foldMap to calculate the min and max of a List Float but have simplified to get a minimal reproduction.
Love your work!
Metadata
Metadata
Assignees
Labels
No labels
Activity
github-actions commentedon Jan 19, 2022
Thanks for reporting this! To set expectations:
Finally, please be patient with the core team. They are trying their best with limited resources.
maxime-didier commentedon Mar 18, 2022
Hello,
We encountered the same problem in our code after I mistakenly swapped the arguments of the set function in a lens. It looks to me that we encountered the same typechecker bug:
elm make
hangs then runaway memory usage from orphan process gren-lang/compiler#97pete-murphy commentedon Jan 9, 2024
Ran into a similar issue, though not from mistakenly swapping arguments, this was from a use of
elm-form
that I thought would actually compile. Boiled it down toThat causes
elm make
to hang and balloon in memory usage (even after exiting with Ctrl+c).Minimal fix for issue elm#2241