FP in Scala in one video: immutability, lambdas, monads, taglessfinal (TF), effect types and effect type libraries like monix, catseffect and ZIO. It's a crash so we will move fast and won't dive into recursion this time since it's rarely used in production applications. This is a followup to this video, which is for experienced Scala devs: • Cats vs ZIO
Watch my videos before everyone else!
/ @devinsideyou
The code is here:
https://github.com/devinsideyou/fp
Table of Contents:
00:00:00 Intro
00:03:09 What is FP?
00:04:38 Project Setup
00:07:59 v01 Initial commit mutable and immutable bank account
00:11:43 v02 val _
00:13:17 v03 no intermediate state
00:16:22 v04 tap
00:20:21 v05 scala.util.chaining
00:20:51 v06 IMPORTANT | simple mutability challenges
00:27:47 v07 simple mutability challenges for bank accounts
00:32:17 v08 pipe
00:33:13 v09 IMPORTANT | descriptions of programs
00:41:03 v10 solving the println problem
00:42:20 v11 getting closer to solving the BankAccount problem
00:42:57 v12 solving the BankAccount problem
00:45:44 v13 IMPORTANT | FPApp
00:48:20 v14 Refactoring
00:49:08 v15 IMPORTANT | path to Monads Part 1
00:52:04 v16 path to Monads Part 2
00:53:30 v17 path to Monads Part 3
00:53:56 v18 path to Monads Part 4
00:54:47 v19 path to Monads Part 5
00:55:43 v20 path to Monads Part 6
00:57:26 v21 path to Monads Part 7
00:57:36 v22 path to Monads Part 8
00:58:31 v23 path to Monads Part 9
00:59:27 v24 path to Monads Part 10
01:00:00 v25 path to Monads Part 11
01:01:58 v26 mutable state must be delayed
01:04:15 v27 fp hello world
01:05:04 v28 IMPORTANT | path to TaglessFinal Part 1
01:12:44 v29 path to TaglessFinal Part 2
01:17:56 v30 path to TaglessFinal Part 3
01:18:36 v31 path to TaglessFinal Part 4
01:20:18 v33 libexamples
01:23:18 TF vs monix | catseffect | ZIO
Website: https://devinsideyou.com
Patreon: https://patreon.devinsideyou.com
Discord: https://discord.devinsideyou.com
Telegram: https://telegram.devinsideyou.com
Twitter: https://twitter.devinsideyou.com
GitHub: https://github.devinsideyou.com
LBRY: https://lbry.devinsideyou.com
Install scripts: https://install.devinsideyou.com
Giter8 templates: https://g8.devinsideyou.com
Spotify concentration playlist: https://code.radio.devinsideyou.com
Cheers and Happy Coding!
#scala #functionalprogramming #monad