All Projects → BalmungSan → scala-functional-programming-tutorial

BalmungSan / scala-functional-programming-tutorial

Licence: other
Functional Programming in Scala Tutorial

Programming Languages

scala
5932 projects

Projects that are alternatives of or similar to scala-functional-programming-tutorial

typelevel-stack.g8
📚 Unofficial Giter8 template for the Typelevel Stack (Http4s / Doobie / Circe / Cats Effect / Fs2) based on Cats v1.x.x
Stars: ✭ 63 (+173.91%)
Mutual labels:  cats, http4s, fs2, circe, cats-effect
pfps-examples
🏮 Standalone examples shown in the book "Practical FP in Scala: A hands-on approach"
Stars: ✭ 167 (+626.09%)
Mutual labels:  cats, fs2, fp, cats-effect
tradeio
A disciplined way to purely functional domain models in Scala
Stars: ✭ 19 (-17.39%)
Mutual labels:  cats, http4s, fp, cats-effect
tutorials
🎥 Source code of the examples shown in the video tutorials
Stars: ✭ 18 (-21.74%)
Mutual labels:  cats, fs2, fp, cats-effect
fs2-google-pubsub
Google Cloud Pub/Sub stream-based client built on top of cats-effect, fs2 and http4s.
Stars: ✭ 32 (+39.13%)
Mutual labels:  fs2, fp, cats-effect
pfhais
Source code of the book Pure functional HTTP APIs in Scala including a chapter about upgrading to Scala 3.
Stars: ✭ 48 (+108.7%)
Mutual labels:  http4s, fs2, cats-effect
fs2-ssh
A wrapper around Apache SSHD targeting cats-effect and fs2
Stars: ✭ 36 (+56.52%)
Mutual labels:  cats, fp, cats-effect
Monix
Asynchronous, Reactive Programming for Scala and Scala.js.
Stars: ✭ 1,819 (+7808.7%)
Mutual labels:  cats, fp, cats-effect
classy-optics
🔎 Source code shown at my talks at Scale by the Bay 2018 and Scalar 2019
Stars: ✭ 25 (+8.7%)
Mutual labels:  cats, http4s, cats-effect
fs2-ftp
Simple client for Ftp/Ftps/Sftp
Stars: ✭ 24 (+4.35%)
Mutual labels:  cats, fs2, cats-effect
swam
WebAssembly engine in Scala
Stars: ✭ 38 (+65.22%)
Mutual labels:  cats, fs2, cats-effect
influencer-stats
Playground for measuring performance of functional programming tools in Scala. Gathers statistics about videos.
Stars: ✭ 24 (+4.35%)
Mutual labels:  cats, http4s, cats-effect
meteor
https://d2a4u.github.io/meteor/
Stars: ✭ 17 (-26.09%)
Mutual labels:  fs2, cats-effect
Hammock
Purely functional HTTP client
Stars: ✭ 174 (+656.52%)
Mutual labels:  cats, fp
freecli
Command line parsing library using Free Applicative
Stars: ✭ 29 (+26.09%)
Mutual labels:  cats, circe
spotify-next
Small CLI app for filtering out music on Spotify.
Stars: ✭ 45 (+95.65%)
Mutual labels:  http4s, cats-effect
Http4s
A minimal, idiomatic Scala interface for HTTP
Stars: ✭ 2,173 (+9347.83%)
Mutual labels:  cats, fs2
cats-effect-testing
Integration between cats-effect and test frameworks
Stars: ✭ 155 (+573.91%)
Mutual labels:  cats, cats-effect
telegram-bot-fs2
Example telegram bot implementation using fs2 and http4s client (no akka)
Stars: ✭ 41 (+78.26%)
Mutual labels:  http4s, fs2
Sup
Composable, purely functional healthchecks in Scala.
Stars: ✭ 138 (+500%)
Mutual labels:  cats, fp

Functional Programming in Scala Tutorial

This repo contains the notes of the functional programming hotbed of research of the Universidad EAFIT.
This is intended to be a simple introductory tutorial to Scala in general and to Functional Programming (using the Typelevel stack) in it.

Contents

  1. scalaintro This package contains notes for introduction to the Scala Programming Language.
    1. ScalaNotes.scala Basic introduction to the language.
    2. ImplicitsNotes.scala Introduction to the implicits mechanism of Scala (includes ValueClasses too).
    3. SubtypeNotes.scala Variance, Type bounds & Generalized type constraints.
    4. TypeclassesNotes.scala Simple introduction to the typeclass pattern in Scala.
  2. catsintro This package contains notes for introduction to the Cats library for Functional Programming.
    1. MonoidNotes.scala Semigroup & Monoid notes.
    2. FunctorNotes.scala Covariant, Contravariant & Invariant Functor notes.
    3. MonadNotes.scala Monad notes - Id, Error, Eval, Writer, Reader & State Monads notes - Monad Transformers notes.
    4. ApplicativeNotes.scala Applicative & Validated notes.
    5. TraverseNotes.scala Foldable & Traverse notes.
  3. catscases This packages contains the solutions to case studies of Scala with Cats book.
    1. AsyncTesting.scala Solution to the "Testing Asynchronous Code" case study.
    2. MapReduce.scala Solution to the "Map-Reduce" case study.
    3. DataValidation.scala Solution to the "Data Validation" case study.
    4. CRDT.scala Solution to the "CRDTs" case study.
  4. iointro This package contains notes for introduction to the Cats-Effect library for encoding side-effects as pure values.
    1. IONotes.scala Introduction to the IO Monad.

Bibliography

The following is a list of bibliographic material used for this tutorial.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].