├── .gitignore ├── .idea ├── .gitignore ├── .name ├── codeStyles │ ├── Project.xml │ └── codeStyleConfig.xml ├── misc.xml ├── modules.xml ├── modules │ ├── scala-3-advanced-build.iml │ └── scala-3-advanced.iml ├── sbt.xml ├── scala_compiler.xml ├── scala_settings.xml └── vcs.xml ├── README.md ├── project └── build.properties └── src └── main └── scala └── com └── rockthejvm ├── part1as ├── AdvancedPatternMatching.scala ├── DarkSugars.scala └── Recap.scala ├── part2afp ├── CurryingPAFs.scala ├── FunctionalCollections.scala ├── LazyEvaluation.scala ├── Monads.scala └── PartialFunctions.scala ├── part3async ├── Futures.scala ├── JVMConcurrencyIntro.scala ├── JVMConcurrencyProblems.scala ├── JVMThreadCommunication.scala └── ParallelCollections.scala ├── part4context ├── ContextFunctions.scala ├── ExtensionMethods.scala ├── Givens.scala ├── ImplicitConversions.scala ├── Implicits.scala ├── OrganizingCAs.scala └── TypeClasses.scala ├── part5ts ├── AdvancedInheritance.scala ├── FBoundedPolymorphism.scala ├── HigherKindedTypes.scala ├── LiteralUnionIntersectionTypes.scala ├── OpaqueTypes.scala ├── PathDependentTypes.scala ├── SelfTypes.scala ├── StructuralTypes.scala ├── TypeMembers.scala ├── Variance.scala └── VariancePositions.scala ├── playground └── Playground.scala └── practice ├── FunctionalSet.scala ├── JSONSerialization.scala └── LzList.scala /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/.gitignore -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- 1 | # Default ignored files 2 | /shelf/ 3 | /workspace.xml 4 | -------------------------------------------------------------------------------- /.idea/.name: -------------------------------------------------------------------------------- 1 | scala-3-advanced -------------------------------------------------------------------------------- /.idea/codeStyles/Project.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/.idea/codeStyles/Project.xml -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/.idea/codeStyles/codeStyleConfig.xml -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/.idea/misc.xml -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/.idea/modules.xml -------------------------------------------------------------------------------- /.idea/modules/scala-3-advanced-build.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/.idea/modules/scala-3-advanced-build.iml -------------------------------------------------------------------------------- /.idea/modules/scala-3-advanced.iml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/.idea/modules/scala-3-advanced.iml -------------------------------------------------------------------------------- /.idea/sbt.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/.idea/sbt.xml -------------------------------------------------------------------------------- /.idea/scala_compiler.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/.idea/scala_compiler.xml -------------------------------------------------------------------------------- /.idea/scala_settings.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/.idea/scala_settings.xml -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/.idea/vcs.xml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/README.md -------------------------------------------------------------------------------- /project/build.properties: -------------------------------------------------------------------------------- 1 | sbt.version=1.11.7 -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part1as/AdvancedPatternMatching.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part1as/AdvancedPatternMatching.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part1as/DarkSugars.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part1as/DarkSugars.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part1as/Recap.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part1as/Recap.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part2afp/CurryingPAFs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part2afp/CurryingPAFs.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part2afp/FunctionalCollections.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part2afp/FunctionalCollections.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part2afp/LazyEvaluation.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part2afp/LazyEvaluation.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part2afp/Monads.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part2afp/Monads.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part2afp/PartialFunctions.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part2afp/PartialFunctions.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part3async/Futures.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part3async/Futures.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part3async/JVMConcurrencyIntro.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part3async/JVMConcurrencyIntro.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part3async/JVMConcurrencyProblems.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part3async/JVMConcurrencyProblems.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part3async/JVMThreadCommunication.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part3async/JVMThreadCommunication.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part3async/ParallelCollections.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part3async/ParallelCollections.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part4context/ContextFunctions.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part4context/ContextFunctions.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part4context/ExtensionMethods.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part4context/ExtensionMethods.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part4context/Givens.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part4context/Givens.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part4context/ImplicitConversions.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part4context/ImplicitConversions.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part4context/Implicits.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part4context/Implicits.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part4context/OrganizingCAs.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part4context/OrganizingCAs.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part4context/TypeClasses.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part4context/TypeClasses.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part5ts/AdvancedInheritance.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part5ts/AdvancedInheritance.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part5ts/FBoundedPolymorphism.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part5ts/FBoundedPolymorphism.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part5ts/HigherKindedTypes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part5ts/HigherKindedTypes.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part5ts/LiteralUnionIntersectionTypes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part5ts/LiteralUnionIntersectionTypes.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part5ts/OpaqueTypes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part5ts/OpaqueTypes.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part5ts/PathDependentTypes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part5ts/PathDependentTypes.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part5ts/SelfTypes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part5ts/SelfTypes.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part5ts/StructuralTypes.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part5ts/StructuralTypes.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part5ts/TypeMembers.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part5ts/TypeMembers.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part5ts/Variance.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part5ts/Variance.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/part5ts/VariancePositions.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/part5ts/VariancePositions.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/playground/Playground.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/playground/Playground.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/practice/FunctionalSet.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/practice/FunctionalSet.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/practice/JSONSerialization.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/practice/JSONSerialization.scala -------------------------------------------------------------------------------- /src/main/scala/com/rockthejvm/practice/LzList.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/rockthejvm/scala-3-advanced/HEAD/src/main/scala/com/rockthejvm/practice/LzList.scala --------------------------------------------------------------------------------