Powered by Rock the JVM!
This repository contains the code we wrote during the Rock the JVM Advanced Scala 3 & Functional Programming course. Unless explicitly mentioned, the code in this repository is exactly what was caught on camera.
How to install:
- either clone the repo or download as zip
- open with IntelliJ as it's a simple IDEA project
Run this command in a git terminal to reset the code in its starting/clean state:
git checkout start
This repo also has Git tags for intermediate states of the code while we were working in the course. You can check out the appropriate tags for the different stages of the course. Useful especially for longer exercises where we modify the same code over multiple videos.
The tags are:
start
1.1-scala-recap
1.2-dark-sugars
1.3-advanced-pattern-matching
2.1-partial-functions
2.2-functional-set
2.3-functional-collections
2.3-functional-set-part-2
2.4-curries-pafs
2.5-lazy-eval
2.6-lazy-lists
2.7-lazy-lists-part-2
2.8-monads
2.9-monads-exercise
3.1-jvm-thread-intro
3.2-jvm-concurrency-problems
3.3-jvm-thread-communication
3.4-jvm-thread-communication-2
3.5-jvm-thread-communication-3
3.6-futures-intro
3.7-futures-fp
3.8-futures-blocking
3.9-futures-promises
3.10-futures-exercises
3.11-parallel-collections
4.1-givens
4.2-extension-methods
4.3-organization
4.4-type-classes
4.5-type-classes-practice-json
4.6-context-functions
4.7-implicit-conversions
4.8-implicits
5.1-advanced-inheritance
5.2-variance
5.3-variance-positions
5.4-type-members
5.5-path-dependent-types
5.6-opaque-types
5.7-lit-union-intersection-types
5.8-self-types
5.9-f-bounded-polymorphism
5.10-structural-types
5.11-higher-kinded-types
If you have changes to suggest to this repo, either
- submit a GitHub issue
- tell me in the course Q/A forum
- submit a pull request!