Haskell Lazy Evaluation

Discussions center on the pros and cons of Haskell's default lazy evaluation, including performance issues like space leaks and thunks, comparisons to strict languages, and whether it should be optional or fixed.

📉 Falling 0.3x Programming Languages
2,219
Comments
19
Years Active
5
Top Authors
#8273
Topic ID

Activity Over Time

2007
6
2008
12
2009
52
2010
66
2011
74
2012
91
2013
107
2014
183
2015
196
2016
187
2017
138
2018
118
2019
107
2020
214
2021
137
2022
154
2023
162
2024
111
2025
104

Keywords

CPU IMO LazyEvaluation OOM ST PFDS OS LBS haskell.org EDIT haskell lazy evaluation laziness strict evaluated desirable language operations lisp

Sample Comments

theCodeStig Jun 5, 2020 View on HN

Can you elaborate on why Haskell's laziness is a dealbreaker?

chc Dec 11, 2010 View on HN

Unless you have a space leak, how is laziness a weakness there?

substation13 Jun 24, 2022 View on HN

What about the performance challenges caused by lazy evaluation?

taejo Mar 15, 2017 View on HN

You can in a lazy language, like Haskell.

wbl Jan 29, 2020 View on HN

Haskell would due to lazy evaluation.

hellofunk Jun 14, 2017 View on HN

I don't use Haskell but didn't I read recently that the latest version of Haskell addresses this common concern by allowing you to turn off laziness altogether so everything evaluates eagerly?

tinco Aug 21, 2016 View on HN

Can you give me an example of a domain where laziness is not desirable? I only do Haskell for side projects, so perhaps I lack exposure to some domains.

misja111 Aug 15, 2016 View on HN

Is Haskell's default lazy evaluation really a flaw that needs to be fixed? I personally like it, I find that most of the time lazy evaluation is what I need instead of strict.

erik_seaberg Oct 4, 2019 View on HN

Haskell is lazy by default, and sometimes builds up large unevaluated expression trees that need to be forced. Other languages are eager, but litter the code with abstractions like Callables and Futures and channels just to not do something.

icebraining Aug 8, 2018 View on HN

Isn't Haskell somewhat like that, due to being lazy by default?