Skip to content

The official repository for the Rock the JVM Advanced Scala course

Notifications You must be signed in to change notification settings

jorexe/scala-3-advanced

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

48 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

The official repository for the Advanced Scala 3 & Functional Programming course

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.

Installation

How to install:

  • either clone the repo or download as zip
  • open with IntelliJ as it's a simple IDEA project

Getting Started

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

Contributions

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!

About

The official repository for the Rock the JVM Advanced Scala course

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 100.0%