You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
*[Laziness from What I Wish I Knew When Learning Haskell](http://dev.stephendiehl.com/hask/#laziness)
132
153
*[The GHC Runtime System - Ch. 4 Laziness](http://ezyang.com/jfp-ghc-rts-draft.pdf)
154
+
* Haskell 2010 Language Report:
155
+
* See p. 3.17.2 Informal Semantics of Pattern Matching in [Pattern Matching](https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-580003.17)
156
+
*[Irrefutable Patterns in Let Expressions](https://www.haskell.org/onlinereport/haskell2010/haskellch3.html#x8-440003.12)
157
+
* See p. 4.4.3.2 Pattern bindings in [Nested declarations](https://www.haskell.org/onlinereport/haskell2010/haskellch4.html#x10-800004.4)
133
158
134
159
## Exceptions
135
160
@@ -144,6 +169,8 @@ How can we bundle Pattern Synonyms with datatypes in export and import lists?
144
169
Why do we need it?
145
170
* What is the purpose of `safe-exceptions` library? Which exception handling problems does it address?
146
171
Why is `unliftio` considered safer by the author of `safe-exceptions`?
172
+
* When does the problem of rethrowing asynchronous exceptions as synchronous
173
+
happen and how can it be solved?
147
174
* Describe a problem which arises when handling exceptions and using functions like `bracket` with stateful monadic stacks.
148
175
* How is it solved in `monad-control` library?
149
176
* How is it solved in `unliftio` library?
@@ -202,13 +229,18 @@ What are the commands which help with that?
202
229
* What is a `Traversal`?
203
230
* What is an `Iso`?
204
231
* Why is `Monoid` constraint required in `view` for traversals?
232
+
* Is a `Prism` a `Lens`, a `Traversal` a `Lens`, an `Iso` a `Lens`, a
233
+
`Traversal` an `Iso`, a `Prism` an `Iso`, or vice versa?
234
+
* Is the `traverse` method of the `Traversable` class a `Traverse`?
205
235
* What are the lens laws?
206
236
* Why do lenses fit well for composing?
207
237
* How operators are grouped by name (which ones are started with `^`, which ones contain `~`, `.` (dot), `%`, `=`)?
208
238
* What combinators are purposed for working in `State` monad?
209
239
Why is it convenient?
210
240
* What is the goal of the microlens library?
211
241
When to use it and when do not?
242
+
* When and why is it better to use `generic-lens` and `optics` libraries? What
0 commit comments