Skip to content

Commit 22766f5

Browse files
fixup! jun3/haskell: fix questions and add some new
1 parent bbbf192 commit 22766f5

File tree

1 file changed

+6
-3
lines changed

1 file changed

+6
-3
lines changed

backend/junior-3/haskell.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,10 +210,11 @@
210210
* In which way does runtime behavior of the following expressions differ?
211211
* ``a + b `seq` (a + b) : list``
212212
* ``let s = a + b in s `seq` s : list``
213+
* What are conditions when `seq` or `deepseq` can actually evaluate a value?
213214
* What is the GHC extension `BangPatterns`?
214-
* Make examples when bang pattern is useless.
215-
* What form does the bang pattern force values to be calculated to?
216-
* Show the difference between this two definitions:
215+
* Make examples when a bang pattern is useless.
216+
* Do bang patterns force values to WHNF or NF?
217+
* Show the difference between these two definitions:
217218
* `f1`
218219

219220
```haskell
@@ -267,6 +268,8 @@
267268
* [Brief normal forms explanation with Haskell - Medium article](https://medium.com/@aleksandrasays/brief-normal-forms-explanation-with-haskell-cd5dfa94a157)
268269
* [All About Strictness. - FP Complete](https://www.fpcomplete.com/blog/2017/09/all-about-strictness)
269270
* [Does a function in Haskell always evaluate its return value? - Stackoverflow](https://stackoverflow.com/questions/27685224/does-a-function-in-haskell-always-evaluate-its-return-value)
271+
* See "Learning to use `seq`",
272+
[Real World Haskell](http://book.realworldhaskell.org/read/functional-programming.html) book.
270273

271274
## Lists
272275

0 commit comments

Comments
 (0)