├── .bsp └── sbt.json ├── .gitignore ├── .idea ├── .gitignore ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── misc.xml ├── modules.xml ├── modules │ ├── udemy-scala-advanced-build.iml │ └── udemy-scala-advanced.iml ├── sbt.xml ├── scala_compiler.xml └── scala_settings.xml ├── README.md ├── project └── build.properties └── src └── main └── scala ├── exercises ├── EqualityPlayground.scala ├── MySet.scala └── StreamsPlayground.scala ├── lectures ├── part1as │ ├── AdvancedPatternMatching.scala │ ├── DarkSugars.scala │ └── Recap.scala ├── part2afp │ ├── CurriesPAF.scala │ ├── LazyEvaluation.scala │ ├── Monads.scala │ └── PartialFunctions.scala ├── part3concurrency │ ├── FuturesPromises.scala │ ├── Intro.scala │ ├── JVMConcurrencyProblems.scala │ └── ThreadCommunication.scala ├── part4implicits │ ├── ExtensionMethods.scala │ ├── Givens.scala │ ├── ImplicitsIntro.scala │ ├── JSONSerialization.scala │ ├── MagnetPattern.scala │ ├── MyTypeClassTemplate.scala │ ├── OrganizingImplicits.scala │ ├── PimpMyLibrary.scala │ └── TypeClasses.scala └── part5ts │ ├── FBoundedPolymorphism.scala │ ├── HigherKindedTypes.scala │ ├── PathDependentTypes.scala │ ├── RockingInheritance.scala │ ├── SelfTypes.scala │ ├── StructuralTypes.scala │ ├── TypeMembers.scala │ └── Variance.scala └── playground ├── JavaPlayground.java └── ScalaPlayground.scala /.bsp/sbt.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/.bsp/sbt.json -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/.idea/codeStyles/Project.xml -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/.idea/codeStyles/codeStyleConfig.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/modules/udemy-scala-advanced-build.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/.idea/modules/udemy-scala-advanced-build.iml -------------------------------------------------------------------------------- /.idea/modules/udemy-scala-advanced.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/.idea/modules/udemy-scala-advanced.iml -------------------------------------------------------------------------------- /.idea/sbt.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/.idea/sbt.xml -------------------------------------------------------------------------------- /.idea/scala_compiler.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/.idea/scala_compiler.xml -------------------------------------------------------------------------------- /.idea/scala_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/.idea/scala_settings.xml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/README.md -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version = 1.5.5 -------------------------------------------------------------------------------- /src/main/scala/exercises/EqualityPlayground.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/exercises/EqualityPlayground.scala -------------------------------------------------------------------------------- /src/main/scala/exercises/MySet.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/exercises/MySet.scala -------------------------------------------------------------------------------- /src/main/scala/exercises/StreamsPlayground.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/exercises/StreamsPlayground.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part1as/AdvancedPatternMatching.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part1as/AdvancedPatternMatching.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part1as/DarkSugars.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part1as/DarkSugars.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part1as/Recap.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part1as/Recap.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part2afp/CurriesPAF.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part2afp/CurriesPAF.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part2afp/LazyEvaluation.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part2afp/LazyEvaluation.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part2afp/Monads.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part2afp/Monads.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part2afp/PartialFunctions.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part2afp/PartialFunctions.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part3concurrency/FuturesPromises.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part3concurrency/FuturesPromises.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part3concurrency/Intro.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part3concurrency/Intro.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part3concurrency/JVMConcurrencyProblems.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part3concurrency/JVMConcurrencyProblems.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part3concurrency/ThreadCommunication.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part3concurrency/ThreadCommunication.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part4implicits/ExtensionMethods.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part4implicits/ExtensionMethods.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part4implicits/Givens.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part4implicits/Givens.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part4implicits/ImplicitsIntro.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part4implicits/ImplicitsIntro.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part4implicits/JSONSerialization.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part4implicits/JSONSerialization.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part4implicits/MagnetPattern.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part4implicits/MagnetPattern.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part4implicits/MyTypeClassTemplate.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part4implicits/MyTypeClassTemplate.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part4implicits/OrganizingImplicits.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part4implicits/OrganizingImplicits.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part4implicits/PimpMyLibrary.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part4implicits/PimpMyLibrary.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part4implicits/TypeClasses.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part4implicits/TypeClasses.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part5ts/FBoundedPolymorphism.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part5ts/FBoundedPolymorphism.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part5ts/HigherKindedTypes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part5ts/HigherKindedTypes.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part5ts/PathDependentTypes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part5ts/PathDependentTypes.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part5ts/RockingInheritance.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part5ts/RockingInheritance.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part5ts/SelfTypes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part5ts/SelfTypes.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part5ts/StructuralTypes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part5ts/StructuralTypes.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part5ts/TypeMembers.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part5ts/TypeMembers.scala -------------------------------------------------------------------------------- /src/main/scala/lectures/part5ts/Variance.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/lectures/part5ts/Variance.scala -------------------------------------------------------------------------------- /src/main/scala/playground/JavaPlayground.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/playground/JavaPlayground.java -------------------------------------------------------------------------------- /src/main/scala/playground/ScalaPlayground.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/udemy-scala-advanced/HEAD/src/main/scala/playground/ScalaPlayground.scala --------------------------------------------------------------------------------