Author Pablo Picouto Garcia
Is this repo useful? Please â‘Star this repository and share the love.
Here we cover with some practical examples, the most common use of Scala API.
- Collections
- Algorithmic
- Implicit
- Pattern matching
- For Comprenhensions
- Type Classes
- Interpolation
- Future
- Functions
- Factory
- Compound Types
- Self Reference
- Generics
- Covariant SubType
- Partial function
- Extractor
- Try
- Either
- Fold
- Currying
- Utils
- Reflection
- Phantom Types
- Option
- Functional Collection
- Functional Map
Here we cover with some practical examples, the new features of the version 3
- Given instances
- Implicit functions
- Intersection types
- Union types
- Enum types
- Type Lambda
- Trait Params
- Extension methods
- Export Clauses
- Auto param tuples
- Multiverse equality
- Pattern matching
- Inline
- Structure & Style
Here we cover with some practical examples, the most common use of the ReactiveX platform for Scala.
RxJava examples here
ScalaZ Principled Functional Programming in Scala.
Here we cover with some practical examples, the most common use of ScalaZ API.
- Functor
- Monad laws
- Free monads
- Writer monad
- Reader monad
- State monad
- IO Effects monad
- Monad transformer
- EitherT
- OptionT
- Features
- Tagging
- Test DSL
- Lens
- Category theory
ZIO A type-safe, composable library for asynchronous and concurrent programming in Scala.
Here we cover with some practical examples, the most common use of ZIO library.
- ZIO monad
- ZIO Actor
- ZIO ZLayer
- ZIO ZManaged
- ZIO ZStream
- ZIO Config
- ZIO Test
- ZIO flip
- ZIO queue
- ZIO fiber
- ZIO promise
- ZIO STM
Scala Native is an optimizing ahead-of-time compiler and lightweight managed runtime designed specifically for Scala.
Here we cover some of the most important features of the library with practical examples.
Documentation of how to configure a scala-native project here
Shapeless is a type class and dependent type based generic programming library for Scala.
Here we cover some of the most important features of the library with practical examples.
Cats is a library which provides abstractions for functional programming in the Scala.
The original project cats
Monix is a high-performance Scala library for Reactive programing, composing asynchronous and event-based programs.
Here we cover some of the most important features of the library with practical examples.
The original project here
Examples of some ported features of Golang in scala.
Examples of how Scala and Haskell can look alike.
Example of Client and Server using gRPC with ZIO and ZLayers for dependency injection.
Hedged requests: send the same requests to multiple servers, and use whatever response comes back first.
Examples of use Tagless Final encode to enjoy the potential of free structures.
Examples of this library to validate values types in compilation time.
Prime number platform. A micro service platform implemented using Finagle for streaming between client/server and gRPC for communication between services. All platform implemented using pure functional ZIO effect system.
You can find the project code here
A Microservice platform which provide currency exchange using pure functional programing libraries.
You can find the project code here
Project to cover the most famous Spark features.
You can find the project code here
Games implementation in Scala