# short-exercises Source templates for short exercises during the lecture, sometimes with tests. To mark your progress during the lecture, please vote on [sabix.eu:31337](http://sabix.eu:31337/) ## Overview: Templates are within `src/main/scala`. Parts that you should complete are usually marked with `???`. | lecture | package | tests |---------------------------------|-------------------------------------------------------------------|---------------------------- | 2: Functional Data Structures | [`datastructures`](src/main/scala/datastructures) | `testOnly datastructures.*` | 3: Error Handling | [`errors`](src/main/scala/errors) | `testOnly errors.*` | 4: Laziness | [`laziness`](src/main/scala/laziness/) | `testOnly laziness.*` | 5: Algebras, Laws, and Monoids | [`algebra`](src/main/scala/algebra/) | `testOnly algebra.*` | 6: Typeclasses | [`typeclasses`](src/main/scala/typeclasses/) | `testOnly typeclasses.*` (needs some uncommenting) | 7: Monads | [`monads`](src/main/scala/monads/) | `testOnly monads.*` (needs some uncommenting) | 8: Applicative Functors | [`applicative`](src/main/scala/applicative/) | `testOnly applicative.*` (needs some uncommenting) | 8: Algebraic View on more Monads| [`readerwriter`](src/main/scala/readerwriter/) | `testOnly readerwriter.*` ## Usage tips: To keep your local solutions to the exercises when pulling from the repository, use ```shell git pull --rebase --autostash ``` This will keep both commited and uncommited changes. If you are using Intellij IDEA, "rebase" is available as option in the update dialog and stashing is default. ### Tests: If you are using `sbt` directly, you can use `testOnly` to run a specific test suite (see table). To automatically run tests, whenever a file changes, use `~testOnly` (`~` also works with other sbt commands).