TLS/SSL implementation in Haskell
While Haskell mitigates or eliminates some classes of bugs common in C (such as buffer overflow), it also makes it more difficult to guard against side-channel attacks like timing attacks[0], because lazy evaluation makes it more difficult to reason about the actual behavior of the code at runtime.This isn't a dig at either Haskell or C; the point is that all programming languages and environments have their "gotcha!" moments.[0] https://en.wikipedia.org/wiki/Timing_attack