Haskell implementation. This showcases a couple of GHC features, in particular I do not believe there is a standard way to delay (there is however a read with timeout).
A fully standard compliant program without the delay can be accomplished by removing four lines: the shebang, the NumericUnderscores extension, and the references to threadDelay.
All types were left for the compiler to infer. There's only one choice, the type for the countdown.
Haskell implementation. This showcases a couple of GHC features, in particular I do not believe there is a standard way to delay (there is however a read with timeout).
A fully standard compliant program without the delay can be accomplished by removing four lines: the shebang, the NumericUnderscores extension, and the references to threadDelay.
All types were left for the compiler to infer. There's only one choice, the type for the countdown.