This repository is intended as a helper for everyone who wants to improve their Scala knowledge, be it beginners or more advanced users. Links in the sections are provided in no specific order.
The list is still incomplete, any additional resources for existing sections or whole sections are welcome, just raise a pull request.
- Scala exercises https://www.scala-exercises.org/scala_tutorial/terms_and_types
- Scala at Light Speed https://www.youtube.com/watch?v=-8V6bMjThNo&list=PLmtsMNDRU0BxryRX4wiwrTZ661xcp6VPM
- (paid) Rock The JVM https://rockthejvm.com
- (paid, free preview) Hands on Scala by Li Haoi https://www.handsonscala.com/chapter-1-hands-on-scala.html
- Scala with Cats by Underscore https://www.scalawithcats.com/dist/scala-with-cats.html
- Functional Programming in Scala by Martin Odersky https://www.coursera.org/learn/progfun1
- Strategic Scala Style: Principle of Least Power by Li Haoi https://www.lihaoyi.com/post/StrategicScalaStylePrincipleofLeastPower.html
- Lightbend Scala Language - Professional https://academy.lightbend.com/courses/course-v1:lightbend+LSL-P-Scala-Language-Professional+v1/about
- Foundations of Functional Programming in Scala https://www.youtube.com/watch?v=OdPaWmRnAc4&list=PLiYD0LWExCDkXGpYRY3WjNscDfhe4D0ND
- (paid) Inner-product training https://www.inner-product.com/services/training/
- (paid) Zainab Ali's training https://kebab-ca.se/training.html
- Softwaremill
- Scala Times newsletter https://scalatimes.com/
- Blog https://softwaremill.com/blog/
- Petr Zapletal
- Salar Rahmanian
- Scala news https://www.scalanews.net/
- Daniel Ciocîrlan
- Jakub Kozłowski
- Dev inside you
- Li Haoyi
- Michał Pawlik
- https://docs.scala-lang.org/tour/unified-types.html
- https://www.artima.com/scalazine/articles/scalas_type_system.html
- https://docs.scala-lang.org/tour/case-classes.html
- https://docs.scala-lang.org/overviews/scala-book/case-classes.html
- https://docs.scala-lang.org/tour/traits.html
- https://docs.scala-lang.org/overviews/scala-book/traits-interfaces.html
- https://docs.scala-lang.org/tour/pattern-matching.html
- https://alvinalexander.com/scala/how-to-use-pattern-matching-scala-match-case-expressions/
- https://data-flair.training/blogs/scala-pattern-matching/
- https://xebia.com/blog/try-option-or-either/
- https://alvinalexander.com/scala/best-practice-eliminate-null-values-from-code-scala-idioms/
- https://danielwestheide.com/blog/the-neophytes-guide-to-scala-part-7-the-either-type/
- https://docs.scala-lang.org/overviews/scala-book/collections-101.html
- https://docs.scala-lang.org/tour/for-comprehensions.html
- https://www.artima.com/pins1ed/implicit-conversions-and-parameters.html
- https://www.lihaoyi.com/post/ImplicitDesignPatternsinScala.html
- https://scala-fmi.github.io/scala-fmi-2019/lectures/08-implicits.html
- https://apiumhub.com/tech-blog-barcelona/scala-implicits/
- https://docs.scala-lang.org/overviews/scala-book/futures.html
- https://docs.scala-lang.org/overviews/core/futures.html
- https://danielwestheide.com/blog/the-neophytes-guide-to-scala-part-8-welcome-to-the-future/
- https://scala-slick.org/doc/3.3.1/introduction.html
- https://books.underscore.io/essential-slick/essential-slick-3.html
- https://github.com/plokhotnyuk/jsoniter-scala
- https://blog.lambdaspot.dev/the-fastest-and-safest-json-parser-and-serializer-for-scala
- https://typelevel.org/cats-effect/datatypes/io.html
- https://typelevel.org/blog/2017/05/02/io-monad-for-cats.html
- https://medium.com/walmartlabs/understanding-io-monad-in-scala-b495ca572174
- https://tpolecat.github.io/2013/10/12/typeclass.html
- https://scalac.io/typeclasses-in-scala/
- https://www.scala-exercises.org/scala_tutorial/type_classes
- https://underscore.io/books/scala-with-cats/
- https://typelevel.org/cats/
- https://www.scala-exercises.org/cats/semigroup
- https://medium.com/bigpanda-engineering/understanding-f-in-scala-4bec5996761f
- https://dzone.com/articles/scalafp-the-mystery-of-scalas-higher-kinded-types
- https://www.stephanboyer.com/post/115/higher-rank-and-higher-kinded-types
- https://blog.rockthejvm.com/tagless-final/
- https://blog.softwaremill.com/final-tagless-seen-alive-79a8d884691d
- https://blog.softwaremill.com/bake-your-bread-tagless-final-style-dea9448b3dc3
- https://www.basementcrowd.com/2019/01/17/an-introduction-to-tagless-final-in-scala/
- https://scalac.io/tagless-final-pattern-for-scala-code/